编写JSP程序,实现用户提交登录表单给Servlet,由Servlet 查询数据库(模拟查询,不用真的连接数据库查询),对用户是否存在进行验证。 实验步骤: (1)编写一个验证用户的Servlet(L
时间: 2024-10-14 19:12:53 浏览: 12
当您需要通过JSP和Servlet实现用户登录功能时,可以按照以下步骤进行:
**实验步骤:**
1. **创建JSP页面**:
- 在Web应用目录下创建一个名为`login.jsp`的文件,编写HTML表单,包含用户名和密码输入字段,以及一个提交按钮,例如:
```jsp
<html>
<body>
<form action="LoginServlet" method="post">
<label for="username">Username:</label><br>
<input type="text" id="username" name="username"><br>
<label for="password">Password:</label><br>
<input type="password" id="password" name="password"><br>
<input type="submit" value="Submit">
</form>
</body>
</html>
```
2. **创建Servlet (LoginServlet.java)**:
- 创建一个名为`LoginServlet.java`的Servlet类,该类继承自HttpServlet,并重写doPost()方法处理表单提交:
```java
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
public class LoginServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String username = request.getParameter("username");
String password = request.getParameter("password");
// 模拟查询数据库(这里仅做逻辑判断)
boolean isValid = checkUserExistence(username); // 自定义函数
if (isValid) {
request.setAttribute("message", "Login successful!");
} else {
request.setAttribute("message", "Invalid username or password.");
}
request.getRequestDispatcher("/success.jsp").forward(request, response);
}
private boolean checkUserExistence(String username) {
// 这里只是简单的逻辑检查,实际项目中应连接数据库
// 可能返回true或false,表示用户名是否存在于记录中
return username.equals("admin") && username.equals("password"); // 示例
}
}
```
3. **处理成功页面(success.jsp)**:
- 创建一个名为`success.jsp`的JSP文件,用于显示登录结果消息:
```jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<body>
<%@ include file="header.jsp" %>
<h2>Login Result</h2>
<% if (pageContext.getAttribute("message") != null) { %>
<p><%= pageContext.getAttribute("message") %></p>
<% } %>
</body>
</html>
```
4. **设置Servlet映射**:
- 在web.xml配置文件中,指定LoginServlet的URL模式,比如`<url-pattern>/LoginServlet</url-pattern>`。
完成以上步骤后,用户可以在浏览器中访问`login.jsp`,填写用户名和密码后点击提交。登录验证在LoginServlet中进行,如果通过则跳转到success.jsp显示相应信息,反之显示错误信息。
**相关问题--:**
1. JSP和Servlet的区别是什么?
2. 如何部署这个JSP-Servlet应用到Tomcat服务器上?
3. Servlet的生命周期有哪些阶段?
阅读全文