- 浏览: 153504 次
- 性别:
- 来自: 大连
文章分类
最新评论
-
fddjxllren:
session.find()是不支持动态绑定参数的.要使用it ...
Hibernate查询之list/iterator -
xiaofeiyang:
http://svn.apache.org/repos/asf ...
struts,hibernate,spring 版本控制svn的URL地址 -
peterxiemin:
emp在建立的时候,报无效的月份,为什么 ?
oracle的练习表---employee -
java_bigniu:
...
Hibernate查询之list/iterator -
lanhai921:
学习下,谢谢分享。
itext基本用法
1,什么是session?
实际开发中session对象最主要的用处就是完成用户的登录和注销等常见功能;每一个session都代表不同的用户;
session对象是javax.servlet.http.HttpSession接口的实例化对象,所以session只能在Http协议中使用;它的常用方法如下:
NO | 方法 | 类型 | 描述 |
1 | public String getId() | 普通 | 取得session id |
2 | public long getCreationTime() | 普通 | 取得session的创建时间 |
3 | public long getLastAccessedTime() | 普通 | 取得session的最后一次操作时间 |
4 | public boolean isNew() | 普通 | 判断是否是新的session(新用户) |
5 | public void invalidate() | 普通 | 让session失效 |
6 | public Enumeration getAttributeNames() | 普通 | 得到全部属性的名称 |
在HttpSession接口中最重要的部分还是属性操作,主要是可以完成用户登录的合法性验证;
2,取得session Id
当一个用户连接到服务器后,服务器会自动为此session分配一个不会重复的session Id,服务器依靠这些不同的session Id来区分每一个不同的用户,可以使用HttpSession接口中的getId()方法取得这些编号!
<% String id = session.getId(); %> Session ID:<%=id %><br /> session ID Length:<%= id.length() %><br />
输出结果是:
Session ID:6111EC4EBBDDC1DFABD9BBB81EBD20CB
session ID Length:32
这里的sessionId和cookie的JSESSIONID用处是一样的,为了区分,在使用session操作时实际上都使用了Cookie的处理机制,即在客户端的Cookie中保存每一个session Id,这样用户在每次发出请求时都会将此Session id发送到服务器端,服务器依靠此Session id区分每一个不同的客户端;
在使用session时,要注意:对于每一个已连接到服务器上的用户,如果重新启动服务器,则这些用户再次发出请求实际上表示的都是一个新连接的用户,服务器会为每个用户重新分配一个新的session Id。
3,使用session
session是否可以在服务器重启后继续使用?在应用中,如果服务器重新启动,则已经分配的session Id就会消失,那么如何才能让这些session继续保存,等待服务器重新启动后继续使用呢?可以通过序列化的方式保存session继续使用,在tomcat服务器里可以通过配置server.xml文件,将每一个用户的session在服务器关闭时序列化到存储介质中(数据库也可,文件也可)这样即使服务器重新启动,也可以通过反序列化的方式,从指定的存储介质上反序裂化session;
配置server.xml:
<Context path="/keith" docBase="/home/keith"> <Manager className="org.apache.catalina.PersistentManager"> debug=0 saveOnRestart="true" maxActiveSession="-1" minldleSwap="-1" maxldleSwap="-1" maxldleBackup="-1" <Store className="org.apache.catalina.session.FileStore" directory="/home/keith/temp" / / </Manager> </Context>
标签<Manager>元素是专门来配置session管理操作的,该元素中每个属性对应的值:
- className:session的管理器操作类,Tomcat通过此接口完成序列化管理
- debug:session管理器的跟踪级别
- saveOnRestart:配置服务重新启动前对session的处理,可以配置true或者false两种选择,为true则会在容器关闭前将有效的session保存,重新启动后重新载入
- maxActiveSession:可以活动的session的最大数,如果设置为-1,则表示不受限制,超过最大限制会将session对象转移到Session store中。
- minIdleSwap:一个session不活动的最短时间,单位为秒;如果为-1则表示不受限制,超过该时间会将session对象转移到Session store中。该session不再内存中保存;
- maxIdleBackup:session的最长时间,单位为秒,如果为-1,则表示不受限制,超过该时间会将session备份到session store中,但该session对象依然存在内存中;
- <store>元素:定义实现持久化session的操作类及指定的文件存方位置;
配置server.xml,即使服务器中间关闭了,一个用户的session也可以通过此配置进行反序列华的恢复;
4,session实例---登录及注销
login.jsp:
<form action="login.jsp" method="post"> userName:<input type="text" name="uname"><br /> uPwd:<input type="text" name="upwd"><br /> <input type="submit" value="Login"> <input type="reset" value="Reset"> </form>
login.jsp:
<body> <% String name = request.getParameter("uname"); String upwd = request.getParameter("upwd"); if(name != null || !"".equals(name) || upwd != null || !"".equals(upwd)){ //定时跳转 session.setAttribute("userid",name); response.setHeader("refresh","2;URL=weclome.jsp"); %> <h2>如果没有跳转,<a href="weclome.jsp">请点击这里:</a></h2> <% } else{ %> 输入信息不合法 <%} %> </body>
weclome.jsp:
<body> <% if(session.getAttribute("userid")!=null){ %> <h2>欢迎:<%=session.getAttribute("userid") %></h2> <a href="logout.jsp">注销</a><br> <% }else{ %> <%=session.getAttribute("userid") %> 请先进行合法登录!<a href="index.jsp">登录</a> <%} %> </body>
测试下!
判断新用户:
<% if(session.isNew()){ %> <h2>欢迎新用户!!!</h2> <%}else {%> <h2>您已经是老用户了!!!</h2> <%} %>
第一次访问的话,会显示欢迎新用户,如果再次刷新一次,则显示老用户!isNew()是通过Cookie方式进行判断的(在之前的操作中,第一次通过request取得全部Cookie时是不会出现JESSINOID的,而第二次却会出现这个系统内建的JSESSIONID,这是由于Cookie是在第一次访问时由服务器端设置客户端的,所有服务器可以依靠是否存在JSESSIONID来判断此用户是否为新用户)。
发表评论
-
JSTL标签之XML标签库,函数标签库
2011-01-20 13:14 0在JSTL中可提供了用于XML解析的操作,这样可以减少 ... -
JSTL常用标签之大聚集---下
2011-01-20 10:17 1390JSTL国际化标签库: 其主要标签如下: NO ... -
JSTL常用标签之大聚集---中
2011-01-20 08:52 991<c:forEach>标签: 主要 ... -
JSTL常用标签之大聚集---上
2011-01-17 22:53 1096JSTL已经被继承到了javaEE ... -
jsp标签编程『续』---简单开发
2011-01-17 16:03 1387在jsp1.2之前如果想要对标签库进行开发,要么继承Ta ... -
jsp标签编程『下』---开发迭代标签
2011-01-17 10:48 1290开发一个迭代标签,此标签只可以对list进行迭代(学习)。 ... -
jsp标签编程『下』---TagSupport类
2011-01-17 10:11 2839掌握基本的标签定义后,可以发现定义标签时都需要继承TagSup ... -
jsp标签编程『中』---定义有属性的标签
2011-01-17 09:13 999定义一个日期标签,则用户就必须指定格式化日期的格式; Dat ... -
jsp标签编程『上』---编写标签
2011-01-16 21:30 10701,什么是JSP标签库? JSP标签库(自定义标签 ... -
javaWeb之表达式语言---初始EL
2011-01-16 08:55 10011,何为表达式语言(Expression Language,E ... -
监听器实例之---在线人员统计
2011-01-15 17:30 0当用户成功登录后,会在列表中增加此用户名称,这样就可 ... -
jsp/servlet之监听器
2011-01-15 16:05 16091,什么是监听器? 其主要的功能就是监听Web ... -
jsp/servlet之过滤器
2011-01-15 14:03 10971,什么是过滤器(filter)? 它是以一种 ... -
MVC之实例操作---MVC设计模式应用
2011-01-15 09:18 3979MVC的第一个实例-----一个登陆: 首先我们需要一个VO ... -
javaWeb之MVC模式
2011-01-13 23:11 1405javaWeb引入了servlet概念 ... -
javaWeb之Servlet跳转
2011-01-13 22:53 1853servlet跳转分为:客户端跳转和服务器端跳转; 客户端 ... -
javaWeb之Servlet
2011-01-13 22:22 1509使用jsp可以完成动态的web开发,但是在开发时发现大量的代码 ... -
javaBean实例之注册验证
2011-01-13 14:29 3123首先定义Bean: package com.keith.be ... -
javaWeb之JavaBean
2011-01-13 13:47 12531,什么是JavaBean? ... -
jsp之阶段性总结
2011-01-13 08:53 9011,web安全性! 在web目录中必须存在一个&q ...
相关推荐
JSP 内置对象 Session 总结 Session 对象是一种 JSP 内置对象,用于管理客户端与服务器端之间的会话期。下面是 Session 对象的详细介绍。 什么是 Session Session 对象是一个 JSP 内置对象,它在第一个 JSP 页面...
在JavaServer Pages (JSP) 技术中,`Session` 对象是一个非常重要的概念,它用于跟踪用户会话状态。在Web应用中,当用户访问网页时,服务器可能需要记住用户的一些信息,如购物车内容、登录状态等,这时就需要用到...
**标题:“6 jsp内建对象之session”** 在JavaServer Pages (JSP) 技术中,`session`是六个内建对象之一,它在处理用户会话方面扮演着核心角色。会话跟踪是Web应用程序中一个重要的概念,尤其是在需要保持用户状态...
JSP_session对象,session的基本结构 session的基本属性 用户登录(用户身份认证) session跟踪(了解) session钝化机制(了解)
【JSP简易购物车 源码 session储存对象】是一个基于Java Server Pages(JSP)技术的简单购物车实现,它展示了如何利用session对象在Web应用程序中存储用户购物车的数据。这个项目对于初学者理解JSP和session的概念,...
Session对象是JSP提供的一个内置对象,用于存储和管理当前用户的会话信息。Session对象的生命周期是从用户第一次访问服务器开始,到用户关闭浏览器或会话超时为止。在这个期间,Session对象可以存储和检索用户的个人...
在Java Server Pages (JSP) 技术中,Session对象是九个内置对象之一,它属于通信对象类别,主要用于处理用户会话相关的数据存储和管理。Session对象允许开发者在用户的不同请求之间共享数据,这对于实现用户登录状态...
Session对象** `session` 对象是Servlet API的一部分,用于在多个相关请求之间保持用户的状态信息。一旦用户登录,你可以将他们的信息(如 `UserBean`)存储在 `session` 中,以便在整个会话期间访问。这样,即使...
一、JSP内置对象练习 1、使用JSP中的session对象,实现用户登陆检验 (1)(1)web目录下的session-login目录中,...3、使用JSP中的session对象,实现购物车功能。 4、使用application对象的属性存储统计网站访问人数
Session 对象是九大内置对象之一,是 Java Web 开发中一个非常重要的对象。它用于记录每个客户端的访问状态,以便于跟踪每个客户端的操作状态。开发者可以通过 Session 对象来实现购物车功能、保存用户的登录信息等...
在 jsp 中, session 是通过 HttpSession 对象来实现的。 HttpSession 对象可以存储任何类型的 Java 对象,并提供了多种方法来操作 session 中的数据。 在上面的示例代码中,我们首先创建了一个简单的 HTML 表单,...
在JSP(Java Server Pages)环境中,`Session`对象扮演着至关重要的角色,它允许开发者跨多个页面请求存储用户数据,确保数据的一致性和连贯性。 #### Session的生命周期 `Session`的生命周期始于用户首次访问应用...
在JSP中,可以使用request和session两个内置对象来操作session对象。request对象代表了一次请求,而session对象代表了一次会话。在JSP页面中,我们通常使用page、request、session和application这四个作用域来存储...
【JSP Session 测试】是Java初学者在学习如何在JSP页面中使用Session对象时的一个常见实践案例。在这个练习中,我们将深入了解JSP Session的概念、工作原理以及如何在实际项目中有效地应用它。 首先,Session是Java...
通过上述示例,我们可以看到如何在JSP中利用`session`对象来管理用户的登录状态。这种方式不仅简化了多页面之间的状态跟踪,而且使得开发者能够更加专注于业务逻辑的实现。当然,在实际应用中还需要考虑安全性问题,...
熟练使用这些内置对象是开发JSP应用程序的基本要求,尤其是对于request、session和application对象更是必须要掌握的。 会使用对象所具有的方法,能熟练使用每一种对象的几种常用方法。希望对大家有用。。。
当用户访问网站并登录后,服务器创建一个Session对象,然后将用户的会话信息(如用户名、权限等)存储在这个Session对象中,并为该Session分配一个唯一的ID。这个ID通过cookie或者URL重写的方式返回给客户端(浏览器...
在Java服务器页面(JSP)中,Session是用于在用户会话之间存储数据的重要机制,尤其在实现诸如购物车这样的功能时。购物车通常需要跟踪用户的选购商品,即使用户在不同页面之间导航,这些信息也需要被保留。在这个...
最后,文章还讨论了跨应用程序的Session共享问题,并在总结中指出,尽管Session机制有其局限性,但它仍然是Web应用中不可或缺的技术之一。在学习和应用Session机制时,开发者需要清晰理解其原理和最佳实践,以确保...