- 浏览: 164861 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
zhousheng193:
非常感谢LZ
在JSP页面及servlet的doGet()方法中处理汉字乱码的问题 -
jie523314:
学习下。。。
读取XML文件
引用
3、Session技术
(1)什么是session
会话
在服务器端维护客户端状态的一种状态管理技术。
其基本思想是:当浏览器访问服务器时,服务器会
创建一个对象(session对象,该对象有一个唯一的
id,也称为session id)。服务器会将该id采用cookie的方式(默认情况下)。
发送给浏览器,浏览器下一次访问服务器时,会将
该id携带给服务器,服务器依据该id找到对应的
session对象。浏览器操作所涉及到的数据可以保存到
session对象里。
(2)session的使用
A.如何获得session?
session只能由服务器创建。
HttpSession session = request.getSession();
方法一:request.getSession();
方法二:request.getSession(boolean flag);
request.getSession(true):
执行过程:
当请求到达服务器,执行到这行代码,服务器
会查看请求中有无sessionId,若无,则创建一个
session对象。若有,还要看该sessionId所对应
的session对象是否还存在(服务器不会永久
保存一个session对象,sesion对象会有一个
失效时间,对于tomcat,30分钟,超过这个时间,就
会删除)。若不存在,再创建一个新的,否则,
返回原有的那个session对象。
request.getSession(false):
当请求到达服务器,执行到这行代码,服务器
会查看请求中有无sessionId,若无,返回null,
若有,如果sessionId对应的session对象还存在,
则返回该对象,若不存在,返回null。
request.getSession() == request.getSession(true)。
B. 如何存取数据
session.setAttribute(String key,Object value);
注意 value类应用实现序列化接口。
Object session.getAttribute(String key);
session.removeAttribute(String key)
//注意:向session中添加的对象必须是可序列化的,因为服务器在正常关闭时,会将内存中的session保存到硬盘中,然后在启动的时候在以流的形式反序列化成对象存放到内存当中,这样session中的sessionId和其他数据就会保持与服务器关闭之前的状态保持一至,这样不会影响到客户端的变化。
小例子
计数。
C. session的最大不活动时间
session.setMaxInactiveInterval(int seconds);
如果超过该时间,服务器会将session对象删除.
默认情况下,对于tomcat,默认是30分钟。
在conf\web.xml中配置
<session-config>
<session-timeout>30</session-timeout>
</session-config>
服务器默认情况下,是通过cookie机制,将
sessionId发送给浏览器,服务器会通过如下
代码:
Cookie c = new Cookie("jsessionId","123");
c.setPath("/appName");
也就是说,浏览器一关闭, 该cookie就会删除,
此时,即使服务器端的session对象还存在,
该对象对浏览器也无意义了。
D. 立即让session对象失效。(一般用于用户正常退出)
session.invalidate()。
(1)什么是session
会话
在服务器端维护客户端状态的一种状态管理技术。
其基本思想是:当浏览器访问服务器时,服务器会
创建一个对象(session对象,该对象有一个唯一的
id,也称为session id)。服务器会将该id采用cookie的方式(默认情况下)。
发送给浏览器,浏览器下一次访问服务器时,会将
该id携带给服务器,服务器依据该id找到对应的
session对象。浏览器操作所涉及到的数据可以保存到
session对象里。
(2)session的使用
A.如何获得session?
session只能由服务器创建。
HttpSession session = request.getSession();
方法一:request.getSession();
方法二:request.getSession(boolean flag);
request.getSession(true):
执行过程:
当请求到达服务器,执行到这行代码,服务器
会查看请求中有无sessionId,若无,则创建一个
session对象。若有,还要看该sessionId所对应
的session对象是否还存在(服务器不会永久
保存一个session对象,sesion对象会有一个
失效时间,对于tomcat,30分钟,超过这个时间,就
会删除)。若不存在,再创建一个新的,否则,
返回原有的那个session对象。
request.getSession(false):
当请求到达服务器,执行到这行代码,服务器
会查看请求中有无sessionId,若无,返回null,
若有,如果sessionId对应的session对象还存在,
则返回该对象,若不存在,返回null。
request.getSession() == request.getSession(true)。
B. 如何存取数据
session.setAttribute(String key,Object value);
注意 value类应用实现序列化接口。
Object session.getAttribute(String key);
session.removeAttribute(String key)
//注意:向session中添加的对象必须是可序列化的,因为服务器在正常关闭时,会将内存中的session保存到硬盘中,然后在启动的时候在以流的形式反序列化成对象存放到内存当中,这样session中的sessionId和其他数据就会保持与服务器关闭之前的状态保持一至,这样不会影响到客户端的变化。
小例子
计数。
C. session的最大不活动时间
session.setMaxInactiveInterval(int seconds);
如果超过该时间,服务器会将session对象删除.
默认情况下,对于tomcat,默认是30分钟。
在conf\web.xml中配置
<session-config>
<session-timeout>30</session-timeout>
</session-config>
服务器默认情况下,是通过cookie机制,将
sessionId发送给浏览器,服务器会通过如下
代码:
Cookie c = new Cookie("jsessionId","123");
c.setPath("/appName");
也就是说,浏览器一关闭, 该cookie就会删除,
此时,即使服务器端的session对象还存在,
该对象对浏览器也无意义了。
D. 立即让session对象失效。(一般用于用户正常退出)
session.invalidate()。
发表评论
-
添加过滤器的配置方法
2010-08-23 08:25 765引用方法: 1、写个类实现Filter接口 实现3个方法: p ... -
如何使用fileupload工具来实现文件上传
2010-08-17 14:07 10131。需要两个夹包文件: commons-fileupload- ... -
jsp中a标签?传参,参数怎么获取页面当中文本框的值
2010-08-16 16:50 9502引用<input type="text&quo ... -
个人感觉这个DAO实例写的还可以吧??呵呵
2010-08-14 13:23 751package org.tarena.shopping.d ... -
cookie如何使用??
2010-08-12 13:53 10152、cookie技术 (1)什么是cookie? 是 ... -
浏览器cookie的学习与测试
2010-08-12 11:24 733生成cookie: package web; imp ... -
学web很容易迷惑的问题
2010-08-11 15:00 599get只有一个流,参数附 ... -
总结response/request/DoGet/DoPost
2010-08-11 14:49 1288引用1.Response [JSP] JSP中的隐藏对 ... -
servlet中service doGet doPost 的联系和区别
2010-08-11 14:44 1859在servlet中默认情况下,无论你是get还是post ... -
servlet处理表单的doGet和doPost
2010-08-11 14:37 967service() 是在javax.servlet.S ... -
在JSP页面及servlet的doGet()方法中处理汉字乱码的问题
2010-08-11 14:34 2002在doPost()方法中使用过滤器(所有编码方式为过滤器中设置 ... -
Servlet中doGet与doPost的区别
2010-08-11 14:31 1470Serlvet接口只定义了一个服务方法就是service,而H ... -
Servlet中doGet(),doPost(),service()函数的关系
2010-08-11 14:28 11061,三者之间的关系:doGet()和doPost()是由函数 ... -
对象的产生4种方法
2010-08-10 13:22 660引用 对象的产生到底有多少种方法了: · 直接用new关键字 ... -
servlet课堂笔记
2010-08-09 20:10 776引用 1、servlet的生命周 ... -
如何避免浏览器访问数据库出现乱码问题
2010-08-06 16:09 1054引用 mysql 创建 数据库时指定编码很重要,很多开发者都使 ... -
get/post提交怎么判别如何使用
2010-08-05 19:39 2496引用 get/post方式: get方式: ... -
手动生成servlet的一个实例方法
2010-08-05 17:01 907引用 Servlet 1、什么是S ... -
JSP和asp内置对象
2010-06-26 19:29 872引用JSP内置对象(9个常用的内置对象) 引用JSP共有以下9 ... -
html简介及用法总结
2010-06-26 17:31 1543WWW基本概念 www的全称为World Wide Web,即 ...
相关推荐
**Session技术实现网上商城购物车** 在Web开发中,实现用户购物车功能是电商系统不可或缺的一部分。购物车允许用户在不立即购买商品的情况下,选择多个商品并存储它们以供后续结账。在这个小例子中,我们将探讨如何...
### 关于Servlet中的Session理解 在Web开发领域中,Servlet技术是Java Web开发的重要组成部分,而Session机制则是处理用户会话的关键技术之一。本文将基于提供的文件内容,深入探讨Servlet中Session的工作原理、...
【理解Session机制】 Session机制是Web应用程序中用来保持用户会话状态的一种技术。在HTTP协议中,由于其无状态特性,每次请求都是独立的,无法识别同一用户的不同操作。为了解决这个问题,服务器端引入了Session,...
首先,理解"session"一词的含义至关重要。在一般语境中,session指的是有始有终的一系列动作或消息,例如打电话的过程。而在Web开发中,session则被赋予了更特殊的意义。它通常用来描述在用户打开浏览器并进行一系列...
在这个“登录验证完整版(servlet及session技术支持)”项目中,我们主要关注的是使用Servlet和Session来实现这一功能。Servlet是Java服务器端编程的基础,而Session则是一种在HTTP无状态协议上维护用户会话状态的...
在这个场景下,Cookie和Session成为了关键的角色。接下来,我们将深入探讨这两种技术的工作原理及其在Servlet和JSP中的应用。 首先,我们来看Cookie。Cookie是由服务器端创建并在HTTP响应头中发送到客户端(通常是...
首先,我们需要理解JSP(JavaServer Pages)和Servlet的角色。JSP是一种动态网页技术,主要用于展示数据,而Servlet是Java编写的服务端程序,主要处理业务逻辑。在购物车场景中,JSP负责接收用户的交互请求,展示...
通过深入理解和恰当使用Session技术,开发者可以在Java Web应用中实现更复杂的功能,提供更好的用户体验。在实际开发中,结合业务需求选择合适的用户状态管理策略,既能保证应用性能,又能确保用户数据的安全。
标题中的“对session和cookie的一些理解”提示我们,这篇内容将涉及Web开发中两种重要的用户会话管理技术:Session和Cookie。在Web应用中,Session和Cookie被广泛用于跟踪用户的登录状态、购物车信息等,确保用户在...
首先,我们要理解Cookie和Session的基本概念。Cookie是一种小型文本文件,由服务器发送到用户的浏览器,并存储在本地。每次用户访问同一网站时,浏览器会自动将Cookie发送回服务器,从而让服务器识别用户。Session则...
【session技术详解】 Session在计算机领域,特别是在Web开发中,是一种用于存储用户状态信息的关键机制。它是服务器端存储用户信息的方式,与Cookie不同,Cookie是在客户端存储数据。Session的使用通常涉及用户登录...
- **技术意义上的session**:在技术层面,“session”指的是客户端与服务器之间保持状态的一种机制。这包括通过HTTP协议进行的交互,以及为了跟踪用户的活动而设计的技术手段。 - **存储结构上的session**:有时...
总结来说,理解 Drools 中的有状态和无状态 Session 是至关重要的,这有助于你正确选择适合的 Session 类型来处理各种业务场景,从而优化规则引擎的性能和效率。在设计系统时,应充分考虑规则的复杂性和依赖性,合理...
在现代Web应用开发中,Session共享是一个常见的需求,特别是在分布式系统中。...通过理解并掌握这两个技术的原理和配置,开发者可以轻松地在多服务器之间共享用户状态,提升系统的整体性能和用户体验。
因此,实验可能涉及了Session的管理策略,如Session的过期策略、容量限制以及使用缓存技术优化Session访问。 7. **Session在不同编程语言中的实现**:实验可能使用了某种编程语言(如Java、Python、PHP等)来实现...
### 有关Session的技术原理及其应用 #### 一、引言 ...为了解决这个问题,Web开发中引入了多种解决方案,其中最为人...对于开发者而言,理解Session的工作原理及其背后的技术细节对于构建稳定、安全的Web应用至关重要。
然而,当涉及到跨域时,`iframe` 遇到的问题之一就是无法正常访问父页面或被嵌入页面的`session`。这是因为浏览器的同源策略(Same-Origin ...通过理解上述技术,开发者可以更好地处理这种场景,提供无缝的用户体验。
理解Session ID的工作原理对于解决如`Session_Start`和`Session_End`事件触发问题至关重要。 总的来说,理解和正确使用Session是构建动态、状态感知的ASP.NET应用的基础。合理地管理Session可以提高应用程序的性能...
在Web开发中,Session是用于跟踪用户状态的一种技术。当用户登录网站后,服务器会创建一个Session对象,并将其关联到用户的浏览器。这个Session对象通常包含用户的一些关键信息,如用户名、权限等。然而,为了安全...