Web三大知识——关于session

首先怎么理解session?区别于cookie写在客户端,session是服务器用来为客户端简历保存当前状态的工具,是建立在服务器中的。

两个窗口session ID一样的唯一一种情况是其中一个窗口是另外一个窗口的子窗口
session就是服务器端的一块内存
session不存在cookie那样的路径访问的问题

  • 同一个application下的servlet/jsp可以共享一个session,前提是同一个客户端窗口

session为每个客户端提供独一无二的session id
image

session 创建的两种途径:

  • 如果浏览器支持cookie:那通过cookie创建:保存在cookie中,并且是跟窗口相关的cookie中

  • 如果不支持cookie,必须自己编程,URL重写实现,重要的函数:response.encodeURL() 实现转码以及在URL后面加入sessionID这种方法很麻烦,需要在每个URL都用encodeURL重写一次

经常遇到的session已过期,很重要,有时候点击back信息还在,是因为session还在。小例子说明session的几个函数用法:

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;

public class SessionInfoServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        HttpSession mySession = req.getSession(true);//服务器在这个时候给client设置了一个session
        PrintWriter out = resp.getWriter();
        out.println(mySession.isNew());
        out.println(mySession.getId());
        out.println("session creation time" + new java.util.Date(mySession.getCreationTime()));
        //通过下面语句判断是否应该断开连接
        out.println("last accessed time:"+ new java.util.Date(mySession.getLastAccessedTime()));
        out.println("session id from request:"+req.getRequestedSessionId());
        out.println("session id via cookie:"+req.isRequestedSessionIdFromCookie());
        out.close();
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 目录Cookie机制什么是CookieCookie的不可跨域名性Unicode编码:保存中文BASE64编码:保存...
    Tomatoro阅读 17,014评论 7 186
  • 会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Se...
    chinariver阅读 10,963评论 1 49
  • 公司有一位阿姨级的同事,因为女儿怀二胎,就在闺女家带老大,顺便帮正在孕吐期的女儿做做饭,洗洗衣服。 偶然相遇,问及...
    S菩提只吃半碗饭阅读 2,548评论 0 2
  • 日期: 3月9日 星期四 晴 日记: 三八妇女节过了,又回到了女汉子的生活轨道: 上班、照顾孩子、老人、...
    修心16阅读 1,130评论 0 1
  • 今天早晨醒来,我的爷爷回来了。爸爸的腿不能动,爷爷回来收玉米。吃完早饭,奶奶给我们带了吃的,带了毯子,爷爷开拖拉机...
    轩小豆阅读 1,706评论 0 0

友情链接更多精彩内容