javax.servlet.http.HTTPSession类方法

HTTP是一种无状态协议。也就是说,当一个客户向服务器发出请求,服务器接受请求,并返回后,该连接就被关闭了,此时服务器端不保留连接的有关信息,因此当下一次连接时,服务器已没有了以前的连接信息,此时将不能判断这一次连接和以前的连接是否是属于同意客户。为了弥补这一缺点,JSP提供了一个session对象,这样服务器和客户端之间的连接就会一直保持下去,但是在一定时间内(系统默认30min内),如果客户端不向服务器,发出应答请求,session对象就会,自动消失。不过在编写程序时,可以修改这个时间限定值,使session对象在特定时间内保存信息。保存的信息可以是与客户端有关的,也可以是一般信息可以根据需要设定相应的内容。

本项目用HttpSession存储从数据存取的数据

首先  request.getSession(); //获取session

session有2存储个方法

setAttribute(String name ,obj value);

value为存储的对象,name为给这个对象起一个的名

换句话说就是将value对象以name名称绑定到会话

getAttribute(String name);

取得name的属性值,如果属性不存在则返回null,如果属性存在返回value对象

实例:

1、创建一个sessionData类

public class sessionData {
<span style="white-space:pre">		</span>private int roleId;

<span style="white-space:pre">		</span>public int getRoleId() {
<span style="white-space:pre">			</span>return roleId;
<span style="white-space:pre">		</span>}

<span style="white-space:pre">		</span>public void setRoleId(int roleId) {
<span style="white-space:pre">			</span>this.roleId = roleId;
<span style="white-space:pre">		</span>}

}

2、JSP页面

<%
<span style="white-space:pre">	</span>session = request.getSession();
<span style="white-space:pre">	</span>sessionData lll = new sessionData();
<span style="white-space:pre">	</span>lll.setRoleId(22222);
<span style="white-space:pre">	</span>session.setAttribute("aaaa", lll);<span style="white-space:pre">	</span>//将lll对象用“aaaa”名存储在内存中
%>

<%
<span style="white-space:pre">	</span>sessionData qqq = new sessionData();
<span style="white-space:pre">	</span>qqq=(sessionData)session.getAttribute("aaaa");
%>

<%=qqq.getRoleId()%>

输出结果:22222

session其他方法:


方法


介绍


public void setAttribute(String name,Object value)


将value对象以name名称绑定到会话


public object getAttribute(String name)


取得name的属性值,如果属性不存在则返回null


public void removeAttribute(String name)


从会话中删除name属性,如果不存在不会执行,也不会抛处错误.


public Enumeration getAttributeNames()


返回和会话有关的枚举值


public void invalidate()


使会话失效,同时删除属性对象


public Boolean isNew()


用于检测当前客户是否为新的会话


public long getCreationTime()


返回会话创建时间


public long getLastAccessedTime()


返回在会话时间内web容器接收到客户最后发出的请求的时间


public int getMaxInactiveInterval()


返回在会话期间内客户请求的最长时间.秒


public void setMasInactiveInterval(int seconds)


允许客户客户请求的最长时间


ServletContext getServletContext()


返回当前会话的上下文环境,ServletContext对象可以使Servlet与web容器进行通信


public String getId()


返回会话期间的识别号

时间: 2024-10-08 04:11:16

javax.servlet.http.HTTPSession类方法的相关文章

在Eclipse中写web工程 发现import javax.servlet.http.HttpSession无法引入

解决方法 得加入tomcat的jar包,右击项目->build path-add libraries->server Runtime->选择要导入的tomcat 就可以了,如果没有选项, 你得配置tomcat

servlet的HttpSession与HibernateSession的区别

一.javax.servlet.http.HttpSession是一个抽象接口 它的产生:J2EE的Web程序在运行的时候,会给每一个新的访问者建立一个HttpSession,这个Session是用户身份的唯一表示.注意,是容器(Tomcat,Resin)自动创建的. 用途:存放这个用户的一些经常被用到的信息,例如:用户名,权限.例如在购物车程序里,存放用户买的商品. 销毁:一定时间(跟容器有关)内,用户无任何动作,session自动销毁. 得到的方法: HttpSession session

import javax.servlet.ServletException出错

import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; 出错的问题大概就是缺少servlet的jar包 网上搜素servlet.jar下

无法解析类型 javax.servlet.http.HttpServletRequest。从必需的 .class 文件间接引用

java.lang.Error: 无法解析的编译问题: 无法解析类型 javax.servlet.http.HttpServletRequest.从必需的 .class 文件间接引用了它 无法解析类型 javax.servlet.http.HttpServletResponse.从必需的 .class 文件间接引用了它 无法解析类型 javax.servlet.http.HttpSession.从必需的 .class 文件间接引用了它 无法解析导入 javax.servlet.http.Http

Description Resource Path Location Type The superclass &quot;javax.servlet.http.HttpServlet&quot; was not foun

一段时间没亲自建新项目玩乐,今天建立了一Maven project的时候发现了以下异常,Description Resource Path Location Type The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path index.jsp /easyBuy/src/main/webapp line 1 JSP Problem 经过查找原因,原来是因为忘记设置server

Spring boot ---- java.lang.NoClassDefFoundError: javax/servlet/ServletContext

场景描述 项目中用到spring boot进行带页面的开发,从github上的simples中下载了对应的spring-boot-sample-web-jsp项目,经简单修改之后死活启动不起来,各种异常.spring-boot以简单容易上手为核心宗旨,可为什么在引入jar时就会出现这么多问题呢? 异常信息 异常一: 2016-06-17 11:04:14.216 ERROR 4684 --- [ main] o.s.boot.SpringApplication : Application sta

can not be cast to javax.servlet.Filter等问题的解决方法

问题1:can not be cast to javax.servlet.Filter 一位从测试转开发的同事首次更新代码,并编译在本地启动web项目时,报如下错误: Exception starting filter encodingFilterjava.lang.ClassCastException:com.gaochao.platform.web.context.filter.ContextFilter2 can not be cast to javax.servlet.Filter 根据

maven新建web项目提示The superclass &quot;javax.servlet.http.HttpServlet&quot; was not found on the Java Build Path

在pom.xml中添加下面代码来下载servlet-api: <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> <scope>provided</scope> </dependency>

maven构建web项目,cannot be cast to javax.servlet.Servlet

调试Spring MVC时发现如下异常: java.lang.ClassCastException: org.springframework.web.servlet.DispatcherServlet cannot be cast to javax.servlet.Servlet 问题出在servlet-api.jar上,tomcat部署springMVC项目时是不用这个包的,而用maven构建项目时需要,如果不引用该依赖就会不识别  HttpServletRequest等的类 解决方法是在ma