编程序:实现简单的登录模块功能,即用户在登陆界面(如login.jsp)输入用户名和密码进行登录,数据处理页面判断用户信息是否正确,若正确则将用户转到功能主界面(用框架划分窗口),否则让用户返回登录界面并提示用户重新登录。
时间: 2024-10-10 22:07:32 浏览: 10
在Java Servlet和JSP中,你可以创建一个简单的登录系统。以下是步骤概述以及部分代码片段:
1. **login.jsp**(登录界面)
- 使用HTML表单收集用户的用户名和密码:
```jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<body>
<form action="LoginServlet" method="post">
<label for="username">用户名:</label>
<input type="text" id="username" name="username"><br><br>
<label for="password">密码:</label>
<input type="password" id="password" name="password"><br><br>
<input type="submit" value="登录">
</form>
<%@ include file="errorMessages.jsp" %>
</body>
</html>
```
其中,`errorMessages.jsp`用于显示错误消息。
2. **LoginServlet.java**(处理登录请求的Servlet)
- 检查用户输入并验证:
```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");
// 假设这里有一个UserDAO类用于从数据库查询用户信息
UserDAO userDao = new UserDAO();
boolean isCorrect = userDao.authenticate(username, password);
if (isCorrect) {
// 登录成功,设置session或cookie,跳转到功能主界面
HttpSession session = request.getSession();
session.setAttribute("loggedInUser", username);
RequestDispatcher rd = getServletContext().getRequestDispatcher("/mainPage.jsp");
rd.forward(request, response);
} else {
// 显示错误消息
request.setAttribute("errorMessage", "用户名或密码错误");
RequestDispatcher rd = getServletContext().getRequestDispatcher("/login.jsp");
rd.include(request, response);
}
}
}
```
3. **mainPage.jsp**(功能主界面)
- 可能包含框架或者其他导航结构,只有已登录用户才能访问:
```jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<c:if test="${not empty session['loggedInUser']}">
<h2>欢迎 ${session['loggedInUser']}!</h2>
<!-- 主界面内容 -->
</c:if>
```
4. **errorMessages.jsp**(用于显示错误消息)
```jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<% if (request.getAttribute("errorMessage") != null) { %>
<p style="color:red">${request.getAttribute("errorMessage")}</p>
<% } %>
```
这只是一个简化的示例,实际项目中你需要考虑更多安全性措施,比如对敏感数据加密、防止SQL注入等。同时,记住在部署时需要配置web.xml文件,指定Servlet映射。