HTTPSession对象知识总结

本文总结了HTTPSession对象的特性和使用,包括其在服务器端存储、数据类型、大小限制、创建与销毁方法。提供了创建、获取数据、设置销毁时间及生命周期的代码示例。建议在HTTPSession中存储安全性要求高的数据,但避免持久存储业务数据。
摘要由CSDN通过智能技术生成

HTTPSession对象


HTTPSession对象的特点;


1.HTTPSession对象是保存在服务器端的;
2.HTTPSession允许存储任何数据类型;
3.HTTPSession存储数据大小无限制;
4.HTTPSession对象存储数据结构为key:value


HTTPSession对象的使用


创建HTTPSession对象;
在HttpSession对象的创建是通过request.getSession();方法创建的,这个方法会判断请求中是否有sessionID,如果有则返回此ID对应的HTTPSession对象,如果没有则会创建一个新的HTTPSession对象并为此对象创建一个sessionID,在响应中通过cookie写回到客户端浏览器中;
Request.getSession()方法还有一个重载方法,为request.getSession(true|false);如果参数为true则作用于无参方法相同,如果参数为false则会根据sessionID返回对应的HTTPSession对象,如果没有sessionID则不会创建新的HTTPSession对象;

代码示例:
(包括向session对象中添加数据,配置session对象销毁时间,以及销毁方法)

package com.bjsxt.servlet;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.URLEncoder;

/**
 * HttpSession对象创建过程
 * */
public class CreateHttpSessionServlet extends HttpServlet {
   

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
   
        this.doPost(req, resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
   
/*(前提是只有ie和谷歌浏览器)获取请求头,利用请求头判断是什么客户端浏览器如果含有Chrome则是谷歌浏览器,如果没有则是ie*/
        String header = req.getHeader("User-Agent");
        HttpSession session = req.getSession();
        //HttpSession session = req.getSession(false);
        if(header.indexOf("Chrome")</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值