TTP协议是无状态的,即信息无法通过HTTP协议本身进传递。为了跟踪用户的操作状态,ASP应用SESSION对象。JSP使用一个叫HttpSession的对象实现同样的功能。HTTPSession 是一个建立在cookies 和URL-rewriting上的高质量的界面。Session的信息保存在服务器端,Session的id保存在客户机的cookie中。事实上,在许多服务器上,如果浏览器支持的话它们就使用cookies,但是如果不支持或废除了的话就自动转化为URL-rewriting,session自动为每个流程提供了方便地存储信息的方法。
Session一般在服务器上设置了一个30分钟的过期时间,当客户停止活动后自动失效。Session 中保存和检索的信息不能是基本数据类型如 int, double等,而必须是java的相应的对象,如Integer, Double。
Httpsession具有如下API:
getId 此方法返回唯一的标识,这些标识为每个session而产生。当只有一个单一的值与一个session联合时,或当日志信息与先前的sessions有关时,它被当作键名用。
GetCreationTime 返回session被创建的时间。最小单位为千分之一秒。为得到一个对打印输出很有用的值,可将此值传给Date constructor 或者GregorianCalendar的方法setTimeInMillis。
GetLastAccessedTime 返回session最后被客户发送的时间。最小单位为千分之一秒。
GetMaxInactiveInterval 返回总时间(秒),负值表示session永远不会超时。
getAttribute 取一个session相联系的信息。(在JSP1.0中为 getValue)
Integer item = (Integer) session.getAttrobute("item") //检索出session的值并转化为整型
setAttribute 提供一个关键词和一个值。会替换掉任何以前的值。(在JSP1.0中为putValue)
session.setAttribute("ItemValue", itemName); // ItemValue 必须不是must简单类型
在应用中使用最多的是getAttribute和setAttribute。现以一个简单的例子来说明session的应用, test1.JSP(信息写入session),test2.JSP(从session读出信息)。
test1.JSP
<HTML>
<HEAD>
<TITLE> Document </TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
session.setAttribute("str",new String(“this is test”));
</BODY>
</HTML>
test2.JSP
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<%
String ls_str=null;
ls_str=(String)session.getAttribute("str");
out.println(“从session里取出的值为:”+ls_str);
%>
</BODY>
</HTML>
分享到:
相关推荐
### jsp中session使用方法详解 #### 一、引言 在Web开发中,会话管理是一项非常重要的功能,特别是对于需要保持用户状态的应用程序来说更是如此。在Java Web开发中,`HttpSession`接口提供了在多页面请求之间保存...
session具体使用方法,资源来自网络,如有问题,请及时与本人联系。
### JSP中Session使用方法详解 #### 一、引言 在Web开发中,会话管理是一项非常重要的功能,特别是对于需要保持用户状态的应用程序来说更是如此。在Java Web开发中,`HttpSession`接口提供了会话管理的功能,它是...
五、JSP中的Session使用 在JSP中,可以使用内置对象`session`来直接操作Session。例如: ```jsp session.setAttribute("username", "John Doe"); // 设置Session属性 String username = (String) session....
tomcat集群基于redis共享session使用到的所有jar包,放到tomcat的lib下即可使用 apache-tomcat-7.0.56+nginx-1.8.0+redis-3.0.6集群部署所需JAR包,session共享 tomcat-redis-session-manager1.2.jar jedis-2.6.2....
### ASP.NET Session 使用详解 #### 一、Session 概述 在 Web 开发中,由于 HTTP 协议本身是无状态的,这意味着每次客户端发送请求到服务器时都是独立且不携带之前任何交互的信息。为了实现对用户的跟踪以及保存...
php session使用初探.pdf
.net MVC使用Session验证用户登录,直接输入URL的页面地址跳转到登陆页 ,必须经过用户登录授权才可以。例如输入:http://localhost:14613/Home/index 由于没有登录将直接跳转到http://localhost:14613/Account/Login...
- **减少Session使用**:过多的Session存储可能导致服务器内存压力增大,应尽量减少不必要的Session存储,或者采用Cookie、数据库、分布式缓存等其他手段存储用户状态。 7. **Session与Cookie的区别** - Session...
总结来说,ASP.NET Core中的Session使用需要额外的配置步骤,包括添加NuGet包、配置服务和中间件。同时,通过`ISession`接口,我们可以方便地在控制器和依赖注入组件中存取Session数据,甚至存储和检索复杂对象。...
2. Session 使用 Cookie 机制,若 Cookie 被禁用,则 Session 也无法使用。 Session 对象是 JSP 中的一个重要组件,用于管理客户端与服务器端之间的会话期。通过 Session 对象,服务器可以记录客户端的状态,实现...
ssm项目session使用及其作用域问题 一、SSM项目Session使用 SSM项目Session使用是指在SSM项目中使用Session机制来存储用户登录信息。Session是存在服务器的一种缓存机制,可以验证用户是否已经登录过了。在SSM项目...
- 过多的session数据会消耗服务器资源,因此应尽量减少不必要的session使用,特别是对于大量并发用户的游戏网站。 - 对于应用范围的数据,`application`虽然方便,但过多的数据可能导致内存泄漏,需定期清理或优化...
2. **配置存储后端**: 配置Spring Session以使用特定的存储后端,例如Redis,需要在配置类中配置`RedisSessionFactory`和`RedisHttpSessionConfiguration`。 3. **注册SessionRegistry**: 在Spring配置中注册`...
7. **优化Session使用** - 避免大量数据存储在Session中,以免增加服务器内存负担。 - 使用绝对URL来防止Session ID被跨域窃取。 - 考虑使用ViewState、Cookie或其他技术替代Session,视场景选择最合适的存储方式...
JSP中的Session使用 在JSP中,我们可以使用`<jsp:useBean>`和`session`隐式对象来操作Session。以下是一些基本操作: - **设置Session属性**:使用`session.setAttribute("key", "value")`方法将数据存入Session...
当我们探讨*** Session使用详解时,首先得明白Session的实质是什么。Session实质上是服务器为每个独立的用户会话分配的一个唯一标识符,通常称为SessionID。每当用户首次连接到服务器时,系统会建立一个新的Session...
7. **监控与管理**:在生产环境中,对Session的监控也很重要,包括统计在线人数、查看Session使用情况、检测异常Session等,这有助于优化系统性能和及时发现潜在问题。 综上所述,"Session登录在线人"是通过创建和...