Tomcat,servlet 知识点总结

web.xml:

web.xml文件是整个tomcat中web项目的项目配置文件,相当于全局变量,每个项目的web\WEB-INF文件夹下也有一个web.xml,此文件只为当前web项目服务,相当于局部变量。

1.设置编码

tomcat8开始,设置编码,只需针对post方式 :

request.setCharacterEncoding("UTF-8");

注意: 设置编码(post)这句需放在所有获取动作之前。

2.Servlet的生命周期

  • init(),service(),destroy() 三个方法对应初始化服务销毁

  • 第一次请求时会对Servlet进行实例化、初始化、然后服务。

  • 可以通过<load-on-startup>来设置servlet启动的先后顺序,数字越小启动越靠前,最小值为零。

    ( 可以让其在第一次请求前就初始化!)

  • Servlet在容器中史:单例的、线程不安全的。

    • 单例:所有的请求都是同一个实例去响应。

    • 线程不安全:如果根据这唯一的实例中的变量进行逻辑判断,可能会产生路径修改问题。

    • 尽量不要在servlet中定义成员变量。至少尽量不要进行逻辑判断。

  • Http 协议:

    1. Http : 超文本传输协议。

    2. Http 是无状态的。即http是不会为了下一次连接而维护这次连接所传输的信息。

    3. Http请求包含两个部分:请求和响应:

      • 请求包含:1.请求行 2.请求消息头 3.请求主体

      • 响应包含:1.响应行 2.响应头 3.响应体

 3.session会话跟踪技术

一、什么是Session会话
        Session 就一个接口(HttpSession)。
        Session 就是会话。它是用来维护一个客户端和服务器之间关联的一种技术。每个客户端都有自己的一个 Session 会话。
        Session 会话中,我们经常用来保存用户登录之后的信息。
二、如何创建 Session 和获取(id号,是否为新)
        如何创建和获取 Session。它们的 API 是一样的  : request.getSession()

        第一次调用是:创建 Session 会话
        之后调用都是:获取前面创建好的 Session 会话对象。
        isNew()  :判断到底是不是刚创建出来的(新的)

        true 表示刚创建
        false 表示获取之前创建
每个会话都有一个身份证号。也就是 ID 值。而且这个 ID 是唯一的。

getId() -------得到 Session 的会话 id 值

三、Session 域数据的存取
        1.往 Session 中保存数
        req.getSession().setAttribute("key1", "value1");
        2.获取 Session 域中的数据
        Object attribute = req.getSession().getAttribute("key1");
四、Session 生命周期控制
        public void setMaxInactiveInterval(int interval) --设置 Session 的超时时间(以秒为单位),超过指定的时长,Session 就会被销毁。

        值为正数的时候,设定 Session 的超时时长。
        负数表示永不超时(极少使用)


public int getMaxInactiveInterval();获取 Session 的超时时间

public void invalidate();让当前 Session 会话马上超时无效。

Session 默认的超时时间长为 30 分钟。
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值