session对象

引言

       HTTP协议是一种无状态协议。一个用户向服务器发出请求(request),然后服务器返回响应(response),在服务器端不保留用户的有关信息,因此当下一次发出请求时,服务器无法判断这一次请求和以前的请求是否属于同一用户。当一个用户访问一个Web服务目录时,可能会在这个服务目录的几个页面反复链接,反复刷新一个页面或不断地向下一个页面提交信息等,服务器应当通过某种办法知道这是同一个用户。Tomcat服务器可以使用内置对象session(会话)记录用户的信息。内置对象session由Tomcat服务器负责创建,session是实现了HttpSession接口类的一个实例。

1、session对象的工作原理

       用户首次访问Web服务目录中的一个JSP页面时,Tomcat服务器会产生一个session对象,这个session对象可以调用相应方法来存储用户在各个页面提交的信息,比如登录时输入的账号密码,session对象会被分配一个String类型的id号,Tomcat服务器会将该id发送到客户端并存放在浏览器中的Cookie中,这样session对象就和客户端之间建立了对应关系,当用户再次访问时服务器就不会分配新的session,而是使用完全相同的一个,当用户关闭浏览器或Tomcat服务器关闭时,session对象被销毁。

      简单来说,在访问一个Web服务目录期间,服务器为该用户分配一个session对象,服务器可以在各个页面使用这个session对象记录的用户有关信息,从而用户就不需要每跳转或刷新一下页面就要重新再次输入信息(比如登录信息等)

下面来看一个实例,用户在服务器的某个Web服务目录中的两个页面example_a.jsp和example_b.jsp 进行链接,2个页面的session对象就是完全相同的

example_a.jsp

<%@ page contentType="text/html" %>
<%@ page pageEncoding="utf-8" %>
<style>
     #textStyle{
         font-family:宋体;
         font-size:36;
         color:blue;
     }
</style>
<html>
<body bgcolor=#ffccff>
<p id="textStyle">
这是example_a.jsp页面<br>单击提交键链接到example_b.jsp
<%
    String id=session.getId();
    out.println("<br>session对象的ID是<br>"+id);
%>
</p>
<form action="example_b.jsp" method=post>
    <input type="submit" id="textStyle" value="访问example_b.jsp" />
</form>
</body>
</html>

example_b.jsp 

<%@ page contentType="text/html" %>
<%@ page pageEncoding="utf-8" %>
<style>
    #textStyle{
        font-family:宋体;
        font-size:36;
        color:red;
    }
</style>
<html>
<body bgcolor=cyan>
<p id="textStyle">
这是example_b.jsp页面
<%
    String id=session.getId();
    out.println("<br>session对象的ID是<br>"+id);
%>
</p>
<a href="example_a.jsp">example_a.jsp</a>
</body>
</html>

运行结果:

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值