(3)实现库存管理系统登录页面。如果输入用户名为admin. 密码为admin, 则跳转到首页,并在页面显示已登录的管理员姓名:如果输入错误,则输出错误提示信息并在3秒后跳转到登录页面(基于java语言的jsp完成)
时间: 2024-03-19 10:43:26 浏览: 21
以下是一个简单的基于JSP的库存管理系统登录页面的实现代码,供参考:
login.jsp:
```
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>库存管理系统登录</title>
</head>
<body>
<h1>库存管理系统登录</h1>
<form action="login" method="post">
用户名:<input type="text" name="username"><br>
密码:<input type="password" name="password"><br>
<button type="submit">登录</button>
</form>
</body>
</html>
```
LoginServlet.java:
```java
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class LoginServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String username = request.getParameter("username");
String password = request.getParameter("password");
HttpSession session = request.getSession();
if ("admin".equals(username) && "admin".equals(password)) {
session.setAttribute("username", "管理员");
response.sendRedirect("index.jsp");
} else {
session.setAttribute("message", "用户名或密码错误,请重新输入!");
response.setHeader("refresh", "3;URL=login.jsp");
}
}
}
```
index.jsp:
```
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>库存管理系统首页</title>
</head>
<body>
<h1>欢迎来到库存管理系统</h1>
<p>已登录管理员姓名:${sessionScope.username}</p>
</body>
</html>
```
在这个例子中,我们使用了一个基于JSP和Servlet的简单登录系统,当用户在登录页面输入用户名和密码并点击登录按钮时,系统会将用户名和密码传递给一个名为LoginServlet的Servlet进行验证。如果用户名和密码都正确,则会将用户名保存在session中,并跳转到首页(index.jsp),在首页上会显示已登录的管理员姓名。如果用户名或密码错误,则会在3秒后返回登录页面(login.jsp)并显示错误提示信息。
需要注意的是,为了避免CSRF攻击,我们在登录表单中使用了POST方法,并在LoginServlet中使用了HttpSession来保存用户登录状态。此外,我们还在LoginServlet中使用了response.sendRedirect()方法来实现页面跳转,以及response.setHeader()方法来设置页面跳转延迟时间。