jsp内置对象之-session对象

session对象

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

session的工作原理如下:

  • 客户首次访问服务器的一个页面时,服务器就会为该用户分配一个session对象,同时为这个session指定唯一的ID,并且将该ID发送到客户端并写入到cookie中,使得客户端与服务器的session建立一一对应的关系。
  • 当客户端继续访问服务器端的其它资源时,服务器不再为该客户分配新的session对象,直到客户端浏览器关闭、超时或调用session的invalidate()方法使其失效,客户端与服务器的会话结束。
  • 当客户重新打开浏览器访问网站时,服务器会重新为客户分配一个session对象,并重新分配sessionID。

session对象常用方法:

  • long getCreationTime() : 返回SESSION创建时间。
  • public String getId() : 返回SESSION创建时JSP引擎为它设的唯一ID号
  • public Object setAttribute(String name,Object value):使用指定名称将对象绑定到此会话。
  • public Object getAttribute(String name):返回与此会话中的指定名称绑定一起的对象,如果没有对象绑定在该名称下,则返回null
  • String [] getValueNames():返回一个包含此SESSION中所有可用属性的数组
  • int getMaxInactiveInterval():返回两次请求间隔多久时间此SESSION被取消(单位秒)

session.jsp


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25


<%@page import="java.util.*" %>

<%@page import="java.text.SimpleDateFormat"%>

<%@ page language="java" contentType="text/html;
charset=UTF-8"

pageEncoding="UTF-8"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">

<title>session内置对象</title>

</head>

<body>

<h1>session 内置对象</h1>

<hr>

<%

SimpleDateFormat time=new SimpleDateFormat("YYY:MM:dd
-- HH:mm:ss");

Date d=new Date(session.getCreationTime());

session.setAttribute("username", "wangzheng");

%>

会话创建时间:<%=time.format(d) %><br>

会话的ID编号:<%=session.getId() %><br>

会话中获取用户名:<%=session.getAttribute("username") %><br>

<a href="session2.jsp" target="_blank">跳转到session2.jsp,测试会话</a>

</body>

</html>

session2.jsp


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24


<%@page import="java.util.*" %>

<%@page import="java.text.SimpleDateFormat"%>

<%@ page language="java" contentType="text/html;
charset=UTF-8"

pageEncoding="UTF-8"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html;
charset=ISO-8859-1">

<title>session内置对象</title>

</head>

<body>

<h1>session 内置对象</h1>

<hr>

<%

SimpleDateFormat time=new SimpleDateFormat("YYY:MM:dd
-- HH:mm:ss");

Date d=new Date(session.getCreationTime());

%>

session创建时间:<%=time.format(d) %><br>

session的ID编号:<%=session.getId() %><br>

session中获取用户名:<%=session.getAttribute("username") %><br>

</body>

</html>



结果分析:session.jsp和session2.jsp中session ID一样,session2.jsp获取到了session.jsp中的用户名。说明两个页面在同一会话中。

//设置当前session最大生成期限单位为秒。

<%

session.setMaxInactiveInterval(10);

%>

//getValueNames()获取session中保存的属性。

session中保存的属性有:<%

String [] names=session.getValueNames();

for(String s:names)

{

out.println(s+”&nbsp;&nbsp;”);

}

%>

Session生命周期

    创建:

  • 当客户端第一次访问某个Servlet时候,服务器会为当前会话创建一个Session Id,每次客户端向服务器发送请求时,都会将此Session Id携带过去,服务端会对此Session Id进行校验。
    活动:

  • 某次会话中通过超链接打开的新页面属于同一次会话。
  • 只要当前会话页面没有全部关闭,重新打开新的浏览器窗口访问同一项目资源时属于同一次会话。
  • 除非本次会话的所有页面都关闭后再重新访问某个Jsp或者Servlet将会创建新的会话。
      销毁:(3种方法)

    • 1.调用session.invalidate()方法
    • 2.Session过期(超时)
    • 3.服务器重新启动。

转载请注明来自bcoder.cn网站所有,本文地址:http://www.bcoder.cn/?p=878

除非注明,Bcoder文章均为原创,转载请注明出处和链接!

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-23 12:59:01

jsp内置对象之-session对象的相关文章

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内置对象和el表达式

九个内置对象 *out jsp的输出流,用来向客户端响应 *page 当前jsp页面, 它的引用数据类型是Object,即真身中有如下代码 Object page=this; *config 它对应真身中的ServletConfig对象 *pageContext 一个顶九个,这个重要 *request HttpServletRequest *response HttpServletResponse *exception Throwable *session HttpSession *applic

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

Jsp内置对象的简单说明

声明 实习森的理解层次,希望有错大家一起纠正 本文主要信息来自网友共享的一个JSPAPI,不是特别全,只是对jsp内置对象进行了简单的介绍,这里我总结了一下 正文 Jsp主要内置了9个对象,分别为:Application.Exception.Out.PageContext.Page.Request.Response.Session以及Config,详细如下: Application对象 基础介绍: Application对象实现了不同用户之间的数据共享,声明周期最长了,服务器启动的时候,Appl