servlet如何使用session存储和修改用户输入的信息_[Servlet] 13 Servlet Session(含登录实操)...

本文介绍了Servlet中Session的概念,作用以及如何使用Session存储和修改用户数据。讲解了Session的生命周期、跟踪机制、创建与销毁,以及如何设置Session有效期。通过登录案例展示了Session在实际开发中的应用,并讨论了Session的失效问题及其处理策略。
摘要由CSDN通过智能技术生成

83dfac6c253cea971cfbea59088f3531.png

为什么学习使用session技术?

因为session可以解决同一个请求用户不同的数据共享问题。

说白了就是,张三和李四同时访问一个重定向响应的servlet,但两者需要跳转保存的数据是不同的,所以就需要session来作为区分.确保张三发送请求和收到的响应是只对张三而不对李四,所以session的作用也就是做个标识和存储专属于他们是数据

通俗的理解就是,我们去超市购物,寄存我们的东西,这时候超市的寄存柜会给我们一个小票纸,我们使用的是同一个存储柜,但是存储我们物品的柜子是专属我们的,而这个小票纸可以理解为session,session就是一个属于我们独特的存储空间,小票纸的ID是独一无二的,所以session的id也是独一无二的


Session 技术是依赖 Cookie 技术的 服务器端 的数据存储技术。

服务器端进行创建每个用户独立拥有一个 session默认存储时间为30分钟。

session 是以接口的形似存在的

标识用户的跨多个页面请求或对Web站点多次访问,同时存储有关该用户信息

1. Session, 会话

2. 用于在服务器端保存用户的相关信息, 在跨页面访问时记录用户数据

3. Session的跟踪机制可以通过Cookie来实现,

>3.1服务器端在创建Session后, 会向客户端发送一个叫JSESSIONID的Cookie,

>3.2客户端浏览器存储该Cookie. 值是一个唯一的标识也就是session.

>3.3凭借两者相对应从而实现功能

4. Session的生命周期:

> 创建: 客户端第一次访问服务器时被创建;

> 不可用的情况:

-1 客户端丢失JSESSIONID

- 2 服务器关闭

- 3 到达最大不活动时间

- 4 调用invalidate方法

 session.invalidate();//立马删除
 

5.设置session的有效期有三种方式

  1. session.setMaxInactiveInterval(int seconds); ,
  2. 在当前程序的web.xml中配置session-config ,
  3. 在Tomcat的/conf/web.xml中配置session-config 。

优先级:Servlet中API设置 > 程序/web.xml设置 > Tomcat/conf/web.xml设置

强制销毁sessionsession.invalidata(); ×正确答案:session.invalidate();。

session默认的过期时间是30分钟, 在tomcat的web.xml中有配置可以在项目的web.xml中配置修改。一旦修改,所有的session的过期时间就对应同步

aa28dce4d2a02ed46722379b7db7993c.png

WEB.XML配置演示

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
    <servlet>
        <servlet-name>session</servlet-name>
        <servlet-class>com.linl.test.Session</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>session</servlet-name>
        <url-pattern>/session</url-pattern>
    </servlet-mapping>
    <!--设置session 存在时间 单位:分钟-->
   <session-config>
       <session-timeout>30</session-timeout>
   </session-config>
</web-app>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值