登录界面的验证登录以及session的使用

登录界面的验证登录以及session的使用

一、实验要求

(1) 新建 login.jsp 页面,其中,包含登录所需用户名与密码字段、
以及提交(input)和重新填写按钮(reset);表单method="POST"、action="check.jsp"(2) 新建 check.jsp 页面,要求验证 login.jsp 中所提交的用户名与密码是否正确,
默认(username=张三, 密码=123456);

如果正确,则在 session 中存储用户信息 username=张三,并跳转到 admin.jsp 页面;
其中,admin.jsp 中必须先检查用户登录状态 session.getAttribute("username"),
若为空,则跳转到 login.jsp(不允许未登录用户直接访问此页面),
否则,显示管理员操作界面(内容自行设置);

(3)绘制整个处理的流程图;
在这里插入图片描述
(4)问:服务器端的每个 session 和用户浏览器是一 一对应关系吗?
不是
在这里插入图片描述
(5)在 check.jsp 中,设置 session 的生存期为 60 秒;停止操作 60 多秒后,再访问 admin.jsp,看是否还能看到管理员
无法看到管理员。
二、代码实现
1.login.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
   <%Object uName = session.getAttribute("uName");
   //判断用户是否登录
   if(uName == null){
    
    
   session.setAttribute("errMsg","你还没登录,请登录...");
   //重定向到登录页面
   response.sendRedirect("login.jsp");
   }%>
   <h3>欢迎<%=uName%>,来到管理员界面</h3>
</body>
</html>

2.check.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <%@ page import="java.io.*,java.util.*" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
  <%//确保获取的中文不会乱码
  request.setCharacterEncoding("UTF-8");
  //获取客户端提交的用户名
  String uName = request.getParameter("uName");
  //获取客户端提交的口令
  String uPassword = request.getParameter("uPassword");
  if("张三".equals(uName) && "123456".equals(uPassword)){
    
    
  //将用户名保存到会话中,后面页面通过检查此对象的存在与否判断用户是否登录,并将用户名显示到页面
  session.setAttribute("uName",uName);
  //重定向到被保护页面
  response.sendRedirect("admin.jsp");
  }else{
    
    
  //设置错误信息,用于登录页面提示
  session.setAttribute("errMsg","用户名或口令不正确...");
  //重定向到登录页面
  response.sendRedirect("login.jsp");
  }%>
</body>
</html>

3.admin.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
   <%Object uName = session.getAttribute("uName");
   //判断用户是否登录
   if(uName == null){
    
    
   session.setAttribute("errMsg","你还没登录,请登录...");
   //重定向到登录页面
   response.sendRedirect("login.jsp");
   }%>
   <h3>欢迎<%=uName%>,来到管理员界面</h3>
</body>
</html>

三、实现效果
1.登录界面
在这里插入图片描述
2.登录失败界面
在这里插入图片描述
3.登录成功的界面
在这里插入图片描述
分享一张浏览器和session的内幕图示
在这里插入图片描述
好了,今天的分享就到这里了。点个赞吧
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_48164590/article/details/121580103
今日推荐