有以下几种用途:
通过 session 来储存用户信息。
存储用户的对话状态,对话状态就是当前用户和服务。
是一个jsp内置对象,保存跟一个会话相关的信息。JAVA中的session的作用非常重要,起到保存对话的作用。
Session,在计算机中,尤其是在网络应用中,称为“会话”。具体到Web中的Session指的就是用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间。
简单通俗的讲session就是象一个临时的容器来存放这些临时的东西
从你登陆开始就保存在session里
当然你可以自己设置它的有效时间和页面
举个简单的例子
我们做一个购书的JSP网站
顾客买书的时候会挑选出一些书
但是在付钱之前还可以修改,所以不能存到数据库
就可以先保存在session里
等到确认了以后再放入数据库...
importjava.io.IOException
import
javax.servlet.Filter
import
javax.servlet.FilterChain
import
javax.servlet.FilterConfig
import
javax.servlet.ServletException
import
javax.servlet.ServletRequest
import
javax.servlet.ServletResponse
import
javax.servlet.http.HttpServletRequest
import
javax.servlet.http.HttpServletResponse
import
javax.servlet.http.HttpSession
import
com.fz.entity.User
public
class
ValidatorFilter
implements
Filter
{
public
void
destroy()
{
}
public
void
doFilter(ServletRequest
arg0,
ServletResponse
arg1,
FilterChain
arg2)
throws
IOException,
ServletException
{
HttpServletRequest
request
=
(HttpServletRequest)arg0
HttpServletResponse
response
=
(HttpServletResponse)arg1
HttpSession
session
=
request.getSession()
User
user
=
(User)session.getAttribute("user")
//判断用户是否登录,如果没有登录,则直接重定向至登录页面,
//如果登录,则将请求交给下一个过滤器或者目标资源
if(user
==
null||user.getUserName()==null){
response.sendRedirect(request.getContextPath()+"/login.jsp")
}else{
arg2.doFilter(request,
response)
}
}
public
void
init(FilterConfig
filterConfig)
throws
ServletException
{
}
以上是filter的代码
以下是在web.xml中的配置
<filter>
<filter-name>validatorFilter</filter-name>
<filter-class>com.fz.filter.ValidatorFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>validatorFilter</filter-name>
<url-pattern>/user/*</url-pattern>
</filter-mapping>