02_06 JSP内置对象之session

一、session简介

sessiond对象主要的作用是用于完成用户的登录、注销等操作,每一个session对象都表示不同的访问用户。Session对象是javax.servlet.http.HttpSession接口的实例化对象。常用的方法有:


No


方法


描述


1


Public String  getId()


取得id


2


Public long getCreationTime()


取得创建时间


3


Public long  getLastAccessedTime()


取得最后一次操作时间


4


Public Boolean  isNew()


判断是否是新的用户


5


Public void  invalidate()


让session失效


6


Public Enumeration  getAttributeNames()


得到全部属性名称

二、取得session Id

<%@ pagecontentType="text/html" pageEncoding="GBK"%>
<html>
<head>
    <title>session id</title>
</head>
<body>
<%
    String id =session.getId();        //取得session id
%>
 
<h2>SESSIONID:<%=id%></h2>
<h2>SESSION ID长度:<%=id.length()%></h2>
</body>
</html>

三、登录及注销(重要)

1.登录及注销

login.jsp:

完成登录表单的显示,同时向本表单提交数据。如果登录成功,则保存属性;若失败,则显示登录失败信息。

welcome.jsp:

用户登录成功后才可以显示的信息,如果没有登录,则要给出未登录的提示信息,同时给出登录连接地址。

logout.jsp:

完成登录的注销,注销后页面跳转回login.jsp页面。

例登录系统示例

login.jsp:

<%@ page contentType="text/html" pageEncoding="GBK"%>
<html>
<head>
	<title>session login</title>
</head>
<body>
	<form action="login.jsp" medthod="post">
		用户名:<input type="text" name="uname"><br>
		密&nbsp;&nbsp;码:<input type="password" name="upass"><br>
		<input type="submit" vlaue="登录">
		<input type="reset" value="重置">
	</form>

<%
	//假设用户名abc  密码123
	String name = request.getParameter("uname");		//
	String password = request.getParameter("upass");

	//用户名和密码的验证
	if( !(null == name || "".equals(name) 
		|| null == password || "".equals(password)) ){
			if( "abc".equals(name) && "123".equals(password) ){
			//定时跳转
			response.setHeader("refresh", "2; URL=welcome.jsp");
			//将登录的用户名保存在session中
			session.setAttribute("userid", name);
%>
		<h2>用户登录成功,两秒后跳转欢迎页面!</h2>
		<h2>如果没有跳转请按<a href="welcome.jsp">这里</a>!</h2>
<%
		}else{
%>
		<h2>用户名或密码输入错误!</h2>
<%
		}
	}
%>

</body>
</html>

welcome.jsp:

<%@ page contentType="text/html" pageEncoding="GBK"%>
<html>
<head>
	<title>welcome</title>
</head>
<body>
<%
	if( null != session.getAttribute("userid") ){
%>
	<h2>欢迎<%=session.getAttribute("userid")%>光临!</h2>
	<h2>注销点<a href="logout.jsp">这里</a>!</h2>
<%
	}else{
	//非法用户
%>
	<h2>请先进行系统的<a href="login.jps">登录</a>!</h2>
<%
	}
%>

</body>
</html>

logout.jsp:

<%@ page contentType="text/html" pageEncoding="GBK"%>
<html>
<head>
	<title>session id</title>
</head>
<body>
<%
	response.setHeader("refresh", "2; URL=login.jsp");		//定时跳转登录页面
	session.invalidate();		//注销
%>

<h2>您已成功退出本系统,两秒后跳转登录页面!</h2>
<h2>如果没有跳转请按<a href="login.jsp">这里</a>!</h2>
</body>
</html>

2.取得用户操作时间

<%@ page contentType="text/html" pageEncoding="GBK"%>
<html>
<head>
	<title>getTime</title>
</head>
<body>
<%
	long start = session.getCreationTime();		//取得创建时间
	long end = session.getLastAccessedTime();		//取得最后一次操作时间
	long time = (end - start) / 1000;		//计算操作时间单位为秒
%>

	<h2>您已操作<%=time%>秒!</h2>
</body>
</html>

以上内容参考JAVAWEB开发实战经典(名师讲坛)

时间: 2024-12-10 22:08:35

02_06 JSP内置对象之session的相关文章

jsp内置对象之-session对象

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

JAVA遇见HTML——JSP篇:JSP内置对象(下)

什么是session session表示客户端与服务器的一次会话 Web中的session指的是用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间 从上述定义中可以看到,session实际上是一个特定的时间概念 在服务器的内部中保存着不同用户的session session对象 session对象是一个JSP内置对象. session对象在第一个JSP页面被装载时自动创建,完成会话期管理. 从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离开

JSP内置对象—session

什么是session? session对象是用来在每一个用户之间分别保存每一个用户信息的对象,以便跟踪用户的操作状态.session的信息保存在服务器端,session的id保存在客户端的cookie中. 例如我们乘坐火车就可以看做是一个session.当我们乘坐火车的时候,我们需要持有一张车票.车票就相当于是一个cookie.而车票上的座位号就相当于是sessionId.当我们需要访问列车的时候,检票员会事先检查我们是否持有cookie,如果有就根据cookie里的内容(sessionId)

JSP内置对象之------response、session、application

1. 重定向和转发 response.sendRedirect("地址"); a. 页面地址显示最终页面 b. 不可向后传递参数 c. 跳到外部站点 request.getRequestDispatcher("地址").forward(request, response); a. 页面地址显示请求页面 b. 可以向后传递参数 c. 不可以跳到外部站点 通俗的来说两者的区别就是: 重定向:发出两次请求,不能够共享前一次请求中封装的参数信息 转发:   发一次请求 2.

Jsp 内置对象

JSP内置对象是 Web 容器创建的一组对象 JSP内置对象的名称是 JSP 的保留字 JSP内置对象是可以直接在 JSP 页面使用的对象,无需使用 “new” 获取实例 -request 对象:用于处理客户端请求,主要方法如下: String getParameter(String name) 根据页面表单组件名称获取页面提交数据 String[ ] getParameterValues(String name) 获取一个页面表单组件对应多个值时的用户的请求数据 void setCharact

jsp 内置对象(五)

1.Request对象 该对象封装了用户提交的信息,通过调用该对象相应的方法可以获取封装的信息,即使用该对象可以 获取用户提交的信息. 当Request对象获取客户提交的汉字字符时,会出现乱码问题,必须进行特殊处理.首先,将获取的 字符串用ISO-8859-1进行编码,并将编码存发岛一个字节数组中,然后再将这个数组转化为字符串对象 即可.如下: String textContent=request.getParameter("boy") byte b[]=textContent.get

JSP内置对象详解

jsp中内置对象:request.response.session.applecation.out.pagecontesx.config.page.exception.cookie 1.request:是javax.servlet.httpservletRequest类型的对象,该对象是用户客户端的请求信息,主要用户接受客户端通过http协议传送到服务器的数据! (包括头部信息.系统信息.请求方式以及请求信息参数),jsp内置对象Web容器所创建的一组对象! 生命周期:jsp发出请求一个requ

JSP内置对象——九大内置对象简介与四种作用域范围以及Web程序的请求和响应模式

最近在学习JSP相关基础知识,我们都知道JSP当中存在一组不使用new关键字就可以在脚本和表达式中使用的对象,在Web开发中经常使用.为了能更好的理解这些对象,在此对JSP内置对象作一些归纳. 目录: JSP内置对象——九大内置对象简介与四种作用域范围以及Web程序的请求和响应模式 JSP内置对象——out(待更新) JSP内置对象——request/response(待更新) JSP内置对象——session(待更新) JSP内置对象——application(待更新) JSP内置对象——其他

JavaWeb之 JSP:内置对象,EL表达式,JSP标签基础

JSP的内置对象 什么是JSP的内置对象呢? 在JSP页面进行编程的时候,如果我们要使用一些对象,如:HttpSession,ServletConfig,ServletContext这些对象,如果每次都要先创建这些对象,然后再去使用它们,这样就显得十分繁琐了,为了方便使用者,Sun公司在开发JSP的时候,把一些对象设置为内置对象,开发者在JSP页面编程的时候不必声明这些对象就能直接使用,这就是JSP的内置对象. 那么JSP对象有哪些呢? JSP内置对象          对应的类型   备注 R