一、HttpSession
什么是HttpSession?
定义: Session代表服务器与浏览器的一次会话过程,每个session有一个唯一ID。在Java中,session指的是javax.servlet.http.HttpSession类的对象。
这个对象位于服务器中,在JSP文件编译时自动生成,这意味着我们可以在程序中直接使用session对象,而不必显示声明。当发生session超时(客户端长时间不用这个session提出请求)/用户程序调用HttpSession.invalidate()/服务器停止服务时session对象被删除。
以上内容参考自:http://blog.51cto.com/lavasoft/275589
HttpSession中包含session id、session context等通信内容,用户也可以用setAttribute()方法将其他对象与session绑定。Session具有持久性,可以用来记录非一次性变量。
接口具体内容可参考:HttpSession接口文档
HttpSession的使用
目标:实现访问网页主页面(/hello)时显示页面访问次数(session count)。每访问一次/hello,次数+1;并利用客户端重定向设置一个/clear路径,访问/clear时重置主页面session count。
步骤:
1. 建立Dynamic Web Project项目,命名为springmvc。
2. 导入需要的jar文件。
项目建立方法与所用到的jar文件与SSM入门之路(3):使用SpringMVC相同。
3. 项目文件目录。(包括下文实现“上传图片”功能的文件)
4. 各文件内容
- web.xml:配置DispatherServlet
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<!-- 配置图片处理功能 -->
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.jpg</url-pattern>
</servlet-mapping>
<!-- 配置spring MVC的入口DispatherServlet -->
<!-- 本例中Servlet名称为springmvc -->
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-patt