JAVA中的session 是干什么用的 ?

Python07

JAVA中的session 是干什么用的 ?,第1张

有以下几种用途:

通过 session 来储存用户信息。

存储用户的对话状态,对话状态就是当前用户和服务。

是一个jsp内置对象,保存跟一个会话相关的信息。JAVA中的session的作用非常重要,起到保存对话的作用。

Session,在计算机中,尤其是在网络应用中,称为“会话”。具体到Web中的Session指的就是用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间。

简单通俗的讲session就是象一个临时的容器

来存放这些临时的东西

从你登陆开始就保存在session里

当然你可以自己设置它的有效时间和页面

举个简单的例子

我们做一个购书的JSP网站

顾客买书的时候会挑选出一些书

但是在付钱之前还可以修改,所以不能存到数据库

就可以先保存在session里

等到确认了以后再放入数据库...

import

java.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>