HttpSession 对象中可用的几个重要的方法:

1    public Object getAttribute(String name)

该方法返回在该 session 会话中具有指定名称的对象,如果没有指定名称的对象,则返回 null。

2    public Enumeration getAttributeNames()

该方法返回 String 对象的枚举,String 对象包含所有绑定到该session 会话的对象的名称。

3    public long getCreationTime()

该方法返回该 session 会话被创建的时间,自格林尼治标准时间 1970 年 1 月 1 日午夜算起,以毫秒为单位。

4    public String getId()

该方法返回一个包含分配给该 session会话的唯一标识符的字符串。

5    public long getLastAccessedTime()

该方法返回客户端最后一次发送与该session 会话相关的请求的时间自格林尼治标准时间 1970 年 1 月 1 日午夜算起,以毫秒为单位。

6    public int getMaxInactiveInterval()

该方法返回 Servlet 容器在客户端访问时保持session 会话打开的最大时间间隔,以秒为单位。

7    public void invalidate()

该方法指示该 session 会话无效,并解除绑定到它上面的任何对象。

8    public boolean isNew(

如果客户端还不知道该 session 会话,或者如果客户选择不参入该 session 会话,则该方法返回 true。

9    public void removeAttribute(String name)

该方法将从该 session 会话移除指定名称的对象。

10  public void setAttribute(String name, Object value)

该方法使用指定的名称绑定一个对象到该session 会话。

11  public void setMaxInactiveInterval(int interval)

该方法在 Servlet 容器指示该 session会话无效之前,指定客户端请求之间的时间,以秒为单位。

Tomcat中Session的默认超时时间为20分钟,可以在web.xml中配置

<session-config>
      <session-timeout>60</session-timeout>  <!-- 以分钟为单位-->
</session-config>

用request.getSession(booleancreate)获取Session时,如果该客户的Session不存在,会先创建一个Session再返回

注意,只有访问Servlet、JSP等程序时才会创建Session,只访问HTML等静态资源时并不会创建

Session还可以存储java bea乃至任何java类和对象

URL地址重写

URL地址重写是对客户端不支持Cookie的解决方案

URL地址重写的原理是将该用户Session的id信息重写到URL地址中,服务器能够解析重写后的URL获取Session的id,这样即使客户端不支持Cookie,也可以使用Session来记录用户状态

HttpServletResponse类提供了encodeURL(Stringurl)实现URL地址重写

<a href=”<%=response.endodeURL(“index.jsp?wd=java”)%>”>

该方法会自动判断客户端是否支持Cookie,如果不支持,则会将用户Session的id重写到URL中,重写后的输出类似于

<a href=”<%= response.endodeURL(“index.jsp;jsessionid=0CCD096E7F8A123E345EF77?wd=java”)%>”>

最新文章

  1. &lt;&lt;&lt; jquery简介、开头语法、在线开发手册
  2. Java中的递归运算
  3. C#WebForm内置对象
  4. elasticsearch installation guide
  5. MyBatis &lt;if&gt;标签的一些问题
  6. Swift面向对象基础(上)——Swift中的枚举
  7. 一些好用的nginx第三方模块
  8. Java实战之02Hibernate-05检索策略、检索方式
  9. Effective C++(13) 用对象管理资源
  10. .NET程序默认启动线程数
  11. RecyclerView中装饰者模式应用
  12. PHP读取excel中地址实现多文件下载
  13. [转]Wing IDE 6.0 安装及算号器注册机代码
  14. django url路由参数错误
  15. 【朝花夕拾】Android安全之(一)权限篇
  16. docker 搭建 hustoj
  17. 【blog】SpringBoot如何搭建聚合项目
  18. 通过命令&ldquo;du&ndash;sk&rdquo;, &ldquo;du&ndash;Ask&rdquo; 的区别,谈谈如何在有保护的文件系统中查看文件或文件夹的大小
  19. HDOJ 1393 Weird Clock(明确题意就简单了)
  20. Gym .101933 Nordic Collegiate Programming Contest (NCPC 2018) (寒假gym自训第四场)

热门文章

  1. [Codeforces]856E - Satellites
  2. NOIP 2015
  3. 【小小复习&middot;大米饼】
  4. linux心得
  5. sqlserver 取日期年份月份
  6. 干货满满,腾讯云+社区技术沙龙 Kafka Meetup 深圳站圆满结束
  7. return、break和continue
  8. 离线合成联想到的--canvas合成水印
  9. Lock锁子类了解一下
  10. JSP运行过程 JSP脚本 静态动态包含 jsp指令 jsp内置对象jsp四大作用域 jsp动作元素 EL表达式 JSTL 设计模式 JSP开发模式 EL内置对象