需求分析:
- 用户打开登录页面,输入用户名和密码。
- 系统判断用户名和密码是否正确,若正确,则登录成功,跳转至用户首页;否则提示用户用户名或密码错误。
完整代码:
登录页面(login.jsp):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Login Page</title> </head> <body> <h1>Login Page</h1> <form method="post" action="login"> <label for="username">Username:</label> <input type="text" id="username" name="username"><br><br> <label for="password">Password:</label> <input type="password" id="password" name="password"><br><br> <input type="submit" value="Login"> </form> </body> </html>
|
登录处理Servlet(LoginServlet.java):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| import javax.servlet.*; import javax.servlet.http.*; import java.io.*;
public class LoginServlet extends HttpServlet { public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String username = request.getParameter("username"); String password = request.getParameter("password");
boolean isValidUser = checkUser(username, password);
if (isValidUser) { response.sendRedirect("user.jsp"); } else { PrintWriter out = response.getWriter(); out.println("<script>alert('Username or password is incorrect.');</script>"); RequestDispatcher rd = request.getRequestDispatcher("login.jsp"); rd.include(request, response); } }
private boolean checkUser(String username, String password) { if (username.equals("admin") && password.equals("123456")) { return true; } else { return false; } } }
|
用户首页(user.jsp):
1 2 3 4 5 6 7 8 9 10 11
| <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>User Page</title> </head> <body> <h1>Welcome, User!</h1> <p>You have successfully logged in.</p> </body> </html>
|
测试:
在Eclipse中创建一个Dynamic Web Project,将上述代码分别保存为login.jsp、LoginServlet.java和user.jsp。
在WebContent/WEB-INF目录下创建web.xml文件,配置Servlet。
1 2 3 4 5 6 7 8 9 10 11 12 13
| <web-app> <servlet> <servlet-name>LoginServlet</servlet-name> <servlet-class>LoginServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>LoginServlet</servlet-name> <url-pattern>/login</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>login.jsp</welcome-file> </welcome-file-list> </web-app>
|
运行项目,打开登录页面,输入用户名和密码,点击登录按钮。
如果用户名和密码正确,则跳转至用户首页;否则提示
用户名或密码错误,提示信息会出现在登录页面,并且不会跳转到用户首页。
上线:
- 将项目部署到一个Web服务器上,例如Tomcat。
- 配置服务器的相关参数,例如端口号、上下文路径等。
- 配置服务器的安全参数,例如HTTPS、访问控制等。
- 将代码和配置文件打包成war包,上传至服务器,并启动Web服务器。
- 在浏览器中输入服务器的地址和端口号,打开登录页面,进行登录。
注意事项:
- 密码应该采用加密存储,不应该明文存储在数据库或文件中。
- 用户名和密码应该采用HTTPS协议传输,避免被窃听或篡改。
- 应该对用户输入的用户名和密码进行安全性检查,防止SQL注入、XSS攻击等漏洞。