作用域通信对象:session用户在登录时通过`void setAttribute(String name,Object value)`方法设置用户名和密码。点击登录按钮后,跳转到另外一个页面显示用户
阅读原文时间:2023年07月08日阅读:1

session对象基于会话,不同用户拥有不同的会话。同一个用户共享session对象的所有属性。作用域开始客户连接到应用程序的某个页面,结束与服务器断开连接。session对象通常用来保存用户的信息,方便服务器跟踪每个用户的操作状态。
使用方法常用的void setAttribute(String name,Object value)、以值/名的形式存放新的值,void getAttribute(String name)、根据名称获取属性值

实例:用户在登录时通过void setAttribute(String name,Object value)方法设置用户名和密码。点击登录按钮后,跳转到另外一个页面显示用户信息。通过void getAttribute(String name)方法得到属性值

Session.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>登录</title>
</head>
<%
    session.setAttribute("username", "小黑");
    session.setAttribute("pwd", "123456");
%>
<body>

    <form action="loginsuccess.jsp" method="post">
        用户名:<input type="text" name="username"
            value=<%=(String) session.getAttribute("username")%>> 密码:<input
            type="password" name="pwd"
            value=<%=(String) session.getAttribute("pwd")%>><br> <input
            type="submit" value="登录">
    </form>

</body>
</html>

loginsuccess.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>
    <%
        String username = (String) session.getAttribute("username");
        String pwd = (String) session.getAttribute("pwd");
        session.setMaxInactiveInterval(10);//设置会话有效期10秒
    %>

    <h1 align="center">登录成功</h1>
    用户名:<%=username%><br> 密码:<%=pwd%>
</body>
</html>

结果:

session.setMaxInactiveInterval(10);//设置会话有效期10秒
间隔10秒后,再次刷新登录页面,用户信息这不显示。认为规定此次会话结束。