声明:本文摘自http://blog.csdn.net/jueblog/article/details/10581233并整理
众所周知,在JSP页面上可直接通过session.setAttribute(name,object)设置session。
可如果想在servlet使用session 的话,就和在JSP有点区别了。
在servlet中通过
HttpSession session=request.getSession(boolean create);
得到一个session对象(准确来说,得到的应该是一个HttpSession 对象),然后,就可以像在JSP页面中直接使用它了。
参数Boolean create说明:
如果当前请求不属于任何会话,而且create参数为true,则创建一个会话,否则返回null。
当然如果为false的时候,那就和不带参数的HttpSession session=request.getSession();等价了。
其实,jsp中的session和servlet中的HttpSession其实根本没有区别,
JSP页面在编译时会通过Jsp container将session对象变换为javax.servlet.http.HttpSession对象。
HttpSession的方法
捎带介绍下HttpSession的方法吧。
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() // 返回会话期间的识别号
相关推荐
本篇文章将深入探讨如何在Servlet中使用session,并通过一个猜数字的小游戏来实践这个概念。 首先,理解什么是session。Session是一种基于cookie的会话管理机制,当用户首次访问服务器时,服务器会在内存中创建一个...
Servlet Session机制详解,如题,详细描述Session的原理,及使用方法,附部分代码
接着可以通过`setAttribute`方法向Session中存储数据: ```java session.setAttribute("username", user); session.setAttribute("password", pass); ``` 这些数据可以在用户的后续请求中被获取到,从而保持了数据...
本文将深入探讨JSP和Servlet中的session概念,以及它们如何在Web应用程序中实现状态管理。HTTP协议本身是无状态的,这意味着每次客户端(浏览器)向服务器发送请求时,服务器无法识别请求是否来自同一个会话。为了...
Session则是在服务器端存储用户会话信息的一种方式,`request.getSession()`创建或获取Session,`session.setAttribute()`和`session.getAttribute()`用于设置和获取Session属性。需要注意,Session比Cookie更能保护...
在Java Web开发中,Servlet是服务器端用于处理HTTP请求的核心组件。Servlet不仅能够生成动态内容,还能进行会话管理,其中最常用的就是Cookie和Session。本文将深入探讨Servlet如何管理和利用这两种技术进行会话跟踪...
当用户成功登录后,服务器会创建一个新的Session对象,并将用户的一些重要信息(如用户ID或认证令牌)存储在这个Session中。Session通过一个唯一的Session ID来标识,这个ID会被发送回客户端(通常是通过Cookie),...
接下来,让我们深入探讨如何在BIRT中使用Session。HTTP Session是Web应用中常用的一种技术,用于存储用户特定的信息,比如登录状态、购物车内容等。在BIRT中,可能我们需要将用户的某些信息或者特定的报告参数保存在...
Servlet中如何捕获Session事件
在其他受保护的页面,Servlet会检查用户是否已经登录,即Session中是否有登录过的标识。可以通过 `getAttribute()` 方法来获取Session中的值,如果值为空,则表示用户未登录,应重定向回登录页面。 7. **管理...
3. 操作购物车:每当用户选择添加、删除或修改商品数量时,我们从Session中取出购物车对象进行相应操作,然后重新存入Session。这样,即使用户在不同的页面间跳转,购物车信息也能保持一致。 4. 清除购物车:当用户...
// 如果session中没有登录信息,表示用户未登录 if (session == null || session.getAttribute("loginUser") == null) { // 重定向到登录页面 req.getRequestDispatcher("/login.jsp").forward(request, ...
本教程将聚焦于如何在JSP应用中使用Servlet和Session对象来实现在不同页面间的数据共享,尤其适用于JBuilder开发环境。 **一、JSP与Servlet简介** JSP是一种服务器端技术,它允许开发者使用HTML或者XML模板来嵌入...
3. `destroy()`: 销毁Servlet,服务器在Servlet不再使用时调用,释放Servlet占用的资源。 4. `getServletConfig()`: 获取Servlet的配置信息。 5. `getServletInfo()`: 获取Servlet的描述信息。 六、...
- 使用HttpSession对象,Servlet可以在用户登录后设置session属性,例如`session.setAttribute("username", username)`,这样在用户浏览其他受保护的页面时,可以检查session中的用户信息,以保持登录状态。...
在配置 Servlet 时,需要在 web.xml 文件中配置一个相应的 action,才能根据 action 来访问相应的 Servlet。如果不在 MyEclipse 里头访问,而是在 Tomcat 里头访问的话,就要在 Tomcat 里面的 webapp 建立一个 web-...
在本教程中,我们将探讨如何使用Servlet实现一个简单的登录验证系统。 首先,理解Servlet的生命周期是关键。Servlet在服务器启动时并不自动加载,而是当首次接收到请求时被创建。然后,它会经历初始化、服务和销毁...
5. **使用session**:在每次比较后,更新session中的`guessCount`,并在响应中携带这个信息。可以使用`HttpSession`的`getAttribute`和`setAttribute`方法。 6. **构建HTML页面**:在`WebRoot`目录下,创建一个HTML...
- `setAttribute(String name, Object value)`:在Session中存储键值对。 - `getAttribute(String name)`:获取指定键的值。 - `removeAttribute(String name)`:删除指定键的属性。 **5. Session生命周期** - **...
在这个案例中,Servlet充当了业务逻辑层的角色,处理用户从JSP页面发起的请求,如查询图书、添加或删除购物车中的商品。Servlet可以调用数据库操作,对数据进行处理后,再将结果传递回JSP页面展示。 3. **Session**...