登录界面的验证登录以及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的内幕图示
在这里插入图片描述
好了,今天的分享就到这里了。点个赞吧
在这里插入图片描述

  • 14
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

code袁

你的支持是我莫大的幸运

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值