Java Web__ session, config对象

session 对象:只要用于跟踪会话。(有那么一点像cookie,用于服务器识别用户。因为http是无状态协议,所以服务器不能通过http判断你是哪个用户,所以有cookie标记你是谁。)
会话:代表用户第一次进入当前系统直到退出系统或者关闭浏览器
     在此期间于服务器的一些列交互。
session作用域:会话期间。从第一次打开系统到关闭浏览器之间这段时间,session对象都能存在。
值的传递 依然是 setAttribute() 和 getAttribute() 的方法完成。
session的有效周期:有的时候会发现登陆一个界面之后,长时间不操作就要重新登陆。我们可以手动的设置session的有效时间。也就是说如果一段时间没有进行操作,我们会移除这个session对象。
设置方法:session.setMaxInactiveInterval(int second) 参数为秒

login.jsp

<body>
    <h3 align = "center">人事管理系统</h3>
    <hr>
    <!-- action 代表了服务器端的处理程序 这里指向跳转到 control.jsp 来处理表单信息 -->
    <form action="control.jsp"><!-- 这里把页面请求的信息封装到request库中 然后control.jsp就可以通过request对象获取提交内容 -->
        <table>
            <tr>
                <td>账号:</td>
                <td>
                    <input type = "text" name = "acount"/>
                </td>
            </tr>
            <tr>
                <td>密码:</td>
                <td>
                    <input type = "password" name = "password"/>
                </td>
            </tr>
            <tr>
                <td>
                    <input type = "submit" value = "登陆"/>
                </td>
            </tr>
        </table>
    </form>
</body>

control.jsp

<body>
    <%
        String account = request.getParameter("acount");
        session.setAttribute("acount",account);
    %>
    <h3 align = "right">登陆账号:<%=session.getAttribute("acount") %></h3>
    <a href = "other.jsp">按钮</a>
</body>

other.jsp

<body>
    <h1>这是一个其他界面,只要不退出系统或者关闭浏览器,就可以通过session获取值</h1>
    <h3 align = "right">登陆账号:<%=session.getAttribute("acount") %></h3>
</body>

通过上面的三个jsp就能很轻易的发现 session 的作用域。

config 对象:获取jsp的配置信息。jsp底层是一个servlet,是由web自动配置成功的,所以说config用的少。
String getServletName() 返回Servlet的名字 
ServletContext getServletContext() 返回含有服务器相关信息的ServletContext对象 
String getInitParameter(String name) 返回初始化参数的值 
Enumeration getInitParameterNames() 返回Servlet初始化所需所有参数的枚举 
SessionJava Web中常用的一种状态管理技术,它可以在不同的HTTP请求之间共享数据,常用于用户登录、购物车等场景。下面我来浅谈一下Session的使用。 Session的创建 在Servlet中,可以通过HttpServletRequest的getSession()方法来获取或创建Session对象。如果请求中已经存在Session,则返回已经存在的对象,否则创建一个新的Session对象并返回。示例代码如下: ```java HttpSession session = request.getSession(); ``` Session的存储 Session中的数据存储在服务器端,可以通过setAttribute()方法向Session中存储数据。示例代码如下: ```java session.setAttribute("username", "张三"); ``` Session的获取 在Session中存储的数据可以通过getAttribute()方法获取。示例代码如下: ```java String username = (String) session.getAttribute("username"); ``` Session的过期 Session有两种过期方式:基于时间的过期和基于使用次数的过期。基于时间的过期是指Session在一定时间内没有被使用,则失效;基于使用次数的过期是指Session在一定时间内没有被使用,则失效。 在web.xml中可以设置Session的过期时间,示例代码如下: ```xml <session-config> <session-timeout>30</session-timeout> </session-config> ``` 上述代码表示Session的过期时间为30分钟。 Session的销毁 Session可以通过invalidate()方法销毁。示例代码如下: ```java session.invalidate(); ``` 总结 SessionJava Web中常用的一种状态管理技术,可以在不同的HTTP请求之间共享数据。Session的使用需要注意过期时间和销毁方式,以免造成安全隐患和资源浪费。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值