JDBC ---- 会话跟踪

本文探讨了JDBC中如何进行会话跟踪,包括使用HttpSession接口的方法如getSession和getSession(true)创建和获取会话,以及在Web应用中通过表单提交和链接重定向实现跟踪。同时提到了Servlet和浏览器之间的交互,利用Cookie来存储和管理用户状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、Java Servlet API使用Session来跟踪会话和管理会话内的状态。利用Session,服务器把一个客户的所有请求联系在一起,并记住客户的操作状态。当客户第一次连接到服务器时,服务器为其建立一个Session,并分配给客户一个唯一的标识(Session ID),以后客户每次提交请求,都要将标识一起提交。

二、在Servlet规范中,采用下列三种机制用于会话跟踪
 
        1、SSL(Secure Socket Layer):安全套接字层,是一种运行在TCP/IP之上和像HTTP这种应用层协议之下的加密技术。

        2、Cookies:是一种由服务器发送给客户的片段信息,存储在客户端浏览器的内存中或硬盘上,在客户随后对该服务器的请求中发回它。

        3、URL重写:当客户端不接受Cookie的时候,可以使用URL重写的机制来跟踪用户的会话,就是在URL中附加标识客户的Session ID,Servlet容器解释URL,取出Session ID,根据Session ID将请求与特定的Session关联

三、javax.servlet.http.HttpSession接口封装了Session,当请求一个会话的时候,Servlet容器就创建一个HttpServlet对象,要得到一个Session对象,可以调用HttpServletRequest接口的getSession()方法,如下所示
  • public HttpSession getSession()
-----返回和这个请求相关的HttpSession对象,如无,则由Servlet容器创建
  • public HttpSession getSession(boolean create)
-----返回和这个请求相关的HttpSession对象,如无,而create参数为true,则创建一个新的Session,如果create参数为false,且此次请求没有一个有效的HttpSession,则返回null。

四、当浏览器中禁用Cookie,则应用URL重写机制跟踪用户会话,在使用URL重写机制时,所有的链接和重定向语句中的URL都需要调用encodeURL()或encodeRedirectURL()方法进行编码,编码后浏览器地址栏内会看到 jsessionid=ADIEPCKDKCKCPDOFELLCSLCOPWKQ,CKDLA 的字母串
  • "<form method=post action="+res.encodeURL("login")+">")
  • "<a href="+res.encodeURL("login")+">登录</a>")
-----对链接调用encodeURL()方法
  • res.sendRedirect(res.encodeRedirectURL("login"));
-----对重定向调用encodeRedirectURL()方法

五、Cookie的应用,如果浏览器启用Cookie,当浏览器第一次访问服务器时,由服务器创建一个Cookie文件,存放于客户端的内存或硬盘上,之后该浏览器每次访问服务器时都会自动提交Cookie中的信息,方便服务器跟踪会话,javax.servlet.http.Cookie类中方法
  • public Cookie(String name, String value)
-----用指定的名字和值构造一个Cookie
  • public String getComment()   
  • public void SetComment()
-----获得和设置Cookie目的的注释信息
  • public String getDomain()
  • public void setDomain()
-----获得和设置Cookie在哪一个域中有效,例如 .youkuaiyun.com
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值