jsp之session(二)

网友投稿 488 2022-05-30

注销Session及共享session案例

jsp之session(二)

login.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> Insert title here

用户名:
密码:

check.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> Insert title here <% request.setCharacterEncoding("utf-8") ; String name = request.getParameter("uname"); String pwd = request.getParameter("upwd"); if(name.equals("zs") && pwd.equals("abc")){//假设 zs abc //只有登录成功,session中才会存在uname /upwd session.setAttribute("uname", name) ; session.setAttribute("upwd", pwd) ; System.out.println("sessionId"+session.getId()); //Cookie cookie = new Cookie("uname" ,namxe); //response.addCookie(cookie) ; //服务端在第一次响应客户端时,会发送一个 JSESSIONID的cookie //session.setMaxInactiveInterval(10) ; request.getRequestDispatcher("welcome.jsp").forward(request, response) ; }else{ //登录失败 response.sendRedirect("login.jsp") ; } %>

welocame.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> Insert title here 欢迎您: <% String name = (String)session.getAttribute("uname") ; //如果 用户没有登录,而是直接 通过地址栏 访问welcome.jsp,则必然获取到的name是null if(name!=null){ out.print(name); System.out.println(); %> 注销 <% }else{//如果没有登录,应该跳转登录页面 response.sendRedirect("login.jsp"); } %>

a.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> Insert title here <% out.print(session.getAttribute("uname")); Cookie[] cookies = request.getCookies(); for(Cookie cookie:cookies){ if(cookie.getName().equals("JSESSIONID")){ System.out.print("JSESSIONID"+cookie.getValue()); } } %>

通过登录和直接访问a.jsp在控制台分别输出

cookie和session的区别:

登录后点击 注销 跳回到登录页面

再次访问a.jsp时

登录之后不点击注销,直接访问a.jsp页面

JSP

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:华为云lab 之 NAT网关
下一篇:如何在 Linux 中备份 Samba 域控制器配置
相关文章