jsp之session对象

1,什么是session?

实际开发中session对象最主要的用处就是完成用户的登录和注销等常见功能;每一个session都代表不同的用户;

session对象是javax.servlet.http.HttpSession接口的实例化对象,所以session只能在Http协议中使用;它的常用方法如下:

NO 方法类型描述
1public String getId() 普通取得session id
2public long getCreationTime()普通取得session的创建时间
3public long getLastAccessedTime()普通取得session的最后一次操作时间
4public boolean isNew()普通判断是否是新的session(新用户)
5public void invalidate()普通让session失效
6public 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来判断此用户是否为新用户)。

 

 

 

不会ps,你也可以成为ps高手,最强傻瓜式人像一键磨皮美白瘦脸美妆PS插件 比如:美肤是用来去斑点的,如果效果不太理想,就加大百分比,反之就减小。瘦脸如果脸胖的就打开,正常的就关闭。所谓的一键调节,要不只能调节一种效果,要不就是个预设,然后让你自己再调。同时,该软件还加入了贴心的批量处理功能,能同时处理上千张照片,让您喝着茶也能将工作做完。、自动检测照片中的人脸,包括鼻子,嘴巴,耳朵,眼睛和眉毛。、依托强大的脸部识别功能,可以高效的对人物全身皮肤进行智能识别,处理,使肤质平滑、过渡均匀。,这是网上下载的模糊照片,经过简单处理,你可以发现,眼睛变的更亮,皮肤更白,眼袋消失。 阅读详情

相关推荐

深入解析FDTD Script中的farfieldpolar3d命令:复电场计算与应用

本文深入解析了FDTD仿真中`farfieldpolar3d`命令的核心功能与应用。作为`farfield3d`的复数版本,该命令能计算并返回球坐标系下的复电场矢量,完整保留振幅与相位信息,为光学天线设计、近远场变换及偏振态分析等高级应用提供了关键数据基础。

grafana6viz的博客 286

JSP session对象

客户与服务器之间的通信是通过 HTTP 协议完成的。HTTP 是一种无状态的协议,当客户向服务器发出请求,服务器接收请求并返回响应后,该连接就被关闭了。

unber的博客 1280

森林冰火人html源码,森林冰火人单人版(源码)

【实例简介】java小游戏——森林冰火人,单人游戏, 实现人物行走,跳跃,吃水晶,具有计时功能,积分功能,倒计时结束游戏失败。【实例截图】【核心代码】森林冰火人单人版├── bin│ ├── game│ │ ├── Help.class│ │ ├── Logon.class│ │ ├── Main.class│ │ ├── Mykey.class│ │ ...

weixin_42507981的博客 6197

jsp的session对象

public Enumeration getAttributeNames() 产生一个枚举对象,该枚举对现象可以使用nextElemets() 遍历session中的各个对象随对应的关键字。public void removeAttribute(String key) 从session删除关键字是key所对应的对象。public Object getAttribute(String key) 获取session中关键字是key的对象。session对象指的是客户端与服务器的一次对话,从连接到断开。

m0_74757548的博客 550

实测对比:纳芯微NSD1624在光伏逆变器中的性能表现(含温度测试数据)

本文详细评测了纳芯微NSD1624非隔离驱动芯片在光伏逆变器中的性能表现,包括动态效率、高温稳定性及抗干扰能力。实测数据显示,该芯片在800V母线电压下效率峰值达99.03%,高温环境下结温稳定在102.7℃,且传播延迟一致性优异。与竞品相比,NSD1624在总损耗和热阻方面具有显著优势,是光伏逆变器驱动方案的理想选择。

weixin_29297127的博客 363

Gartner DSG数据安全治理 架构及解读

目录背景:架构图: 解释:英文解释:(自上而下)平衡业务与风险、威胁、合规之间的关系(5个维度之间的平衡)优先处理数据集制定安全策略实施安全工具策略配置同步从上到下,从需求调研开始实施数据安全治理。千万不要跨过数据摸底、治理优先级分析、制定治理整体策略,而直接从技术工具开始对数据安全进行治理。 先明确选择需要治理的对象,优先选择重要数据进行数据安全治理工作。可以通过数据梳理、分类分级等手段,完成数据资产盘点和筛选,在纷杂的数据中理清头绪。

锦慈的技术博客 7217

JSP基础:(3)cookie对象与session对象

目录 1 Cookie对象 1.1 定义 1.2 操作cookie 1.2.1 开启浏览器cookie 1.2.2 读写Cookie对象 1.2.3 Cookie对象的方法 1.2.4 cookie操作 1.2.5 Cookie弊端 1.3 关闭缓存 2 session对象 2.1 定义 2.2 两种方式获取sessionID 2.3 会话结束的四种方法 2.4 session实操 1 Cookie对象 1.1 定义 Cookie 是一种保持 Web应用程序连续性的一.

上善若泪 2332

SAP_ABAP_MM_BAPI清单案例教程——采购发票校验/预制_BAPI_INCOMINGINVOICE_PARK_MIRO

SAP ABAP BAPI_INCOMINGINVOICE_PARK BAPI 采购发票预制 采购发票校验 代码模版

java_zhong1990的专栏 1963

JSP-session对象

session对象是由服务器自动创建的与用户请求相关的对象

Nianxi1031的博客 374

最新Python爬虫实战(入门爬虫篇)——案例18:某气象局全国天气预报数据采集(详细爬虫思路截图 + 抓包动图演示+完整爬虫代码+详细注释)

本次案例针对某气象局天气预报网的静态HTML页面,实现了全国各地区天气数据的全自动化爬取,和之前案例17的动态接口爬虫不同,本次案例聚焦于静态页面的爬虫实现,覆盖了从抓包分析、请求模拟、数据解析到数据存储的完整爬虫流程,非常适合入门学习者巩固基础,核心知识点和实现要点总结如下:首先是页面分析的核心逻辑,静态HTML页面的数据爬取,核心在于通过浏览器开发者工具,完成完整的抓包分析和标签结构定位。

努力让自己发光,对的人才能迎着光而来 27万+

大疆司空 2 私有化部署:FH2、Terra、4G 三大服务区别详解

摘要: 司空2私有版包含三大模块:FH2(核心平台,必选)、Terra(建模算力,需NVIDIA显卡)、4G(内网图传)。FH2是基础,支持设备管理与任务调度;Terra适用于测绘建模场景,依赖GPU算力;4G模块保障复杂环境下的图传稳定性,适合纯内网部署。选择逻辑:先部署FH2,再按需添加Terra(需显卡)或4G(需内网支持),避免资源浪费。

2501_93651177的博客 579

JSP九大内置对象详解全析(三):session对象

1、session对象概述    session对象是由服务器自动创建与用户请求相关的对象。服务器会为每一个用户创建一个session对象用来保存用户信息,跟踪用户操作。该对象内部使用Map类来保存数据,因此它的数据类型是key-value形式。对应javax.servlet.http.HttpSession.class对象。     服务器为不同的浏览器在内存中创建用于保存数据的对象叫seesio

基督山伯爵的博客 1万+

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

jsp实验四 session对象及cookie

jsp实验四 session对象及cookie 文章目录jsp实验四 session对象及cookie一、实验题目及要求实验1 session对象实验要求inputGuess.jspresult.jspsmall.jsp和large.jspsuccess.jsp效果示例inputGuess.jspsmall.jsp和large.jspsuccess.jsp实验2 用户登录简单实现实验要求效果示例二、实验代码和效果1.session对象inputguess.jspresult.jsplarge.jspsm

若宸的博客 1916

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

JSP 的 response 和 session 内置对象

JSP 的 response 和 session 内置对像,分别有着响应客户端请求,输出信息和产生会话沟通直到浏览器关闭。该文将简单介绍两个内置对象的使用。一、response 内置对象response对象是在网络请求中用来存储服务器返回的结果的对象。它包含了服务器返回的状态码、响应头、响应体等信息。response对象的作用是让开发者可以获取和处理服务器返回的数据。通过response对象,开发者可以获取到服务器返回的状态码,判断请求是否成功;

weixin_74141222的博客 1072

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

JSP之session对象

保存及获取属性index.jsp:                      session对象                     

Java技术大系 4624

jsp内置对象之-session对象

session对象 session对象是一个JSP内置对象。session对象在第一个JSP页面被装载时自动创建,完成回话期管理。session生命周期从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束被称为一个会话。当一个客户访问一个服务器时,可能在服务器的几个页面之间切换,服务器应当通过某种办法知道这是一个客户,就需要session对象。session对象时Htt

1976

Jsp的session对象

Jsp的session对象 1.session对象是什么 是一个服务器默认生成的对象。 什么时候创建? 首次发出请求时,服务端产生session对象,并将它的唯一ID通过Cookie在响应时发送给客户端(JSESSIONID)。 客户端二次请求时,会将客户端本地Cookie(包含服务端发送的JSESSIONID)发送给服务端,服务端根据JSESSIONID就可以知道这个请求与第一次的...

qq2071114140的博客 896

java获取jsp session_前台jsp页面获取session对象

前台jsp页面获取session对象:首先在后台把user放入session里,并且也加了一个user的字段type(int类型,1-管理员/0-企业用户/2-一般用户),即user-type对象在session里。一般我们获取对象,直接使用jstl标签里的${user.username}就能获取对象,但是想要获取session里的对象,就不能直接这样获得。我在项目中是这样来获取session对象...

weixin_36425412的博客 1364

JSP内置对象之session对象案例

session对象是有服务器自动创建的与用户请求相关的对象。服务器为每一个用户都生成了一个session对象,用于保存该用户的信息,跟踪用户的操作状态。session内部使用Map类来保存数据,因此保存数据的格式为“key/value”。session对象的value值可以是复杂的数据类型,而不仅仅局限于字符串类型。session默认在服务器上的生存时间为30分钟,当客户端停止操作30分钟之后,s

Allureyou的博客 1141

JSP实例-利用session在页面间传递java对象

student.java: package test; public class Student { private String name; private int age; private String address; public String getName() { return name; } public void setName(String name) {

晴天的专栏 5475

JSP的Session对象和Application对象

JSP的Session对象和Application对象Session对象简介使用Session传递数据Application对象简介使用 Application传递数据Servlet类简介代码示例路径声明 Session对象 简介 session就是会话,JSP利用servlet提供的Session接口来识别一个用户,跟踪用户的操作状态,存储这个用户的所有访问信息。 生命周期:从用户访问站点时,...

qq_44789478的博客 904

jsp实验8 内置对象session

编写代码,掌握session的用法。【参考课本4.6.5 】掌握怎样在JSP中使用内置对象session。二、实验项目内容(实验题目)秒记住您看到的字符序列。

m0_64798714的博客 1009

【JSP程序设计】作用域通信对象 — session对象

本文介绍了JSP中的三种作用域通信对象:session、application和pageContext,重点解析了session对象。session对象用于跟踪用户会话,通过SessionID区分不同用户,其生命周期始于用户连接终于断开连接。文章详细列出了session的常用方法(如getId()、setMaxInactiveInterval()等)并提供了一个设置会话时效的实例。该实例通过login.jsp页面设置session属性,在loginSuccess.jsp页面展示属性值并设置会话有效期,演示了

衍生星球的博客 900

JSP中的Session对象方法小结

JSP中的Session对象方法小结以下是部分Session对象常用的几个方法小结session对象是javax.servlet.http.HttpSession类的一个子类对象;在session中保存的对象值在当前用户连接的所有页面中都是可以被访问到的,即session对象是存储在每个打开的IE浏览器中的,不同的用户所对应的session对象一般是不同的;常用方法如下:setAttribute(...

chenchao's blog 1110

JSP内置对象-session对象

什么是session: session表示客户端与服务器的一次会话 web中的session指的是用户浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间 从上述定义中可以看到,session实际上是一个特定的时间概念 在服务器的内存中保存着不同用户的session session对象: session对象是一个JSP内置对象 session对象在第一...

胡二的博客 623

JSP的session对象

<br />【前言】不说废话,直接学习<br /> <br />【原文】http://blog.youkuaiyun.com/arielxp/archive/2005/07/03/411155.aspx<br /> <br />TTP协议是无状态的,即信息无法通过HTTP协议本身进传递。为了跟踪用户的操作状态,ASP应用SESSION对象。JSP使用一个叫HttpSession的对象实现同样的功能。HTTPSession 是一个建立在cookies 和URL-rewriting上的高质量的界面。Session的信息保存

火影的梦想 645
上一篇: jsp之Cookie
下一篇: 高效程序员
keithJava
博客等级 码龄16年 2粉丝 41原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值