入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

JSP-Session简单总结-附带小案例

创建时间:2016-12-03 投稿人: 浏览次数:916

                                                      jsp-session简单总结

一:Session介绍:

1-作用:
session:作为jsp的九大内置对象之一存储特定用户所需要的会话信息。

简单通俗的讲session就是象一个临时的容器
来存放这些临时的东西
从你登陆开始就保存在session里
当然你可以自己设置它的有效时间和页面
处理客户端(浏览器)与服务器之间的会话.Session对象的引入是为了弥补HTTP协议的不足,HTTP协议是一种无状态的协议。

2-生命周期,作用域:

session:通俗的讲存在于B/S架构软件的客户端一直连接服务器的过程中(就是浏览器一直访问).当用户在应用程序的Web页面之间跳转时,存储在Session中的变量不会丢失的,一直存在于用户的整个会话中的知道浏览器不再访问它(关闭这个Web页面,客户端断开服务器连接).

3--详细介绍功能:session对象用来存储每个用户的信息,来跟踪每个用户的操作状态的.那末就来分析它是如何跟踪的过程和原理的.首先要知道session把这些信息存在哪里了?当然是存在容器里了的。接下来分析它是如何唯一的跟踪每个用户的操作状态的。就是有一个ID的,当用户首次登录某个Web项目访问一个Jsp页面的时候,Jsp引擎就会产生一个Session对象,同时就会为该用户分配一个唯一的String型的SessionID用来区别其他的用户的,同时JSP引擎就会将这个ID号发给客户端计算机。这个SessionID保存在客户计算机的Cookie中的,这样Session对象就和客户建立了一一对应的关系了,当关闭浏览器后在服务器端的session对象取消,那某之前和用户建立的关系也一并消失了。当下次用户再次打开浏览器连接到服务器访问Web项目时,这时服务器中的JSP引擎就会为该用户创建一个新的Session对象的。Session对象是生命是伴随浏览器连接服务器的,到断开服务器连接的整个过程中书写自己的生命传奇的。这个就类比于另外一个Application对象的(伴随服务器终生,不离不弃,相随到老。

4--常用方法介绍:

 getAttribute(String name):用于获取指定名字的相关属性的,如果不存在就返回一个null;

 getCreateTime():用来返回Session对象被创建的时间,单位是(s);

 getID():返回当前Session对象在服务器端的编号就是ID;

 setAttribute(String name,java.lang.Object value):用于设定指定名字的属性值,然后保存在session对象中。一般的用法就是通过request对象的getParameter()方法获取用户的请求的值,然后通过该方法来设置保存在session对象中的。

 isNow():用来判断当前session是否新的session对象,返回的是一个boolean型的变量。

 getMaxInactiveInterval():用来返回session对象的生存时间,单位是(s);

 removeAttribute(String name):用来删除指定的属性。在有效期间的,否则就会创建一个新的session对象,旧的就会丢失的。

5--    小案例介绍:实现一个超级简单的购物系统:

    sessionLogin.jsp的内容:

 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML >
<html>
  <head>
    <base href="<%=basePath%>">
    <title>session实例-登录</title>
    <style type="text/css">
        h3{
         text-align:center;
        }
        hr{
        color:red;
        }
    </style>
  </head>
  <body>
  <%
   session.setAttribute("customer","客户");//为customer赋值为客户
   %>
   <h3>欢迎来到客户登录页面-登录信息</h3>
   <hr/>
   <center>
   <form action="sessionShop.jsp" method="post">
      客户名:<input type="text" name="loginname" >
   <input type="submit" value="登录">   
   </form>
   </center>
  </body>
</html>

 sessionShop.jsp页面:

  <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML >
<html>
  <head>
    <base href="<%=basePath%>">  
    <title>session-购物页面</title>
    <style type="text/css">
      h3{
      text-align:center;
      }
      hr{
        color:red;
      }
    </style>
  </head>
  <body>
   <%
     String na=new String(request.getParameter("loginname").getBytes("ISO-8859-1"),"UTF-8");
     session.setAttribute("name", na);
    %>
    <h3>欢迎来到购物页面-购物信息</h3>
    <hr/>
    <center>
    <form action="sessionAccount.jsp" method="post">
        您要购买的商品:<input type="text" name="goodsName" size="30">
    <input type="submit" value="购物">
    </form>
    </center>
  </body>
</html>

 sessionAccount.jsp页面:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML>
<html>
  <head>
    <base href="<%=basePath%>">  
    <title>Shop-结账页面</title>
    <style type="text/css">
        h3{
         text-align:center;
        }
        hr{
         color:red;
        }
    </style>
  </head>
  <body>
  <%
    String gn=new String(request.getParameter("goodsName").getBytes("ISO-8859-1"),"UTF-8");
    session.setAttribute("goods", gn);
    String 客户信息=(String)session.getAttribute("customer");
    String 客户姓名=(String)session.getAttribute("name");
    String 购买物品=(String)session.getAttribute("goods");
   %>
   <h3>欢迎来到结账页面-结账信息</h3>
   <hr/>
   <center>
      结账客户昵称:<%=客户信息 %><br/>
      结账客户姓名:<%=客户姓名 %><br/>
      结账购买物品:<%=购买物品 %>
   </center>      
  </body>
</html>

测试过程:打开浏览器输入:

访问结果:




至此session就简单总结了一下,水平有限,望大神不喜欢不要喷小弟,望您不吝指教哈。

声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
  • 上一篇:没有了
  • 下一篇:没有了
未上传头像