您现在的位置是:首页  >  前端 >  前端开发 设计思想

JSP详细篇——session

博主 添加时间:2014-11-20 11:42:25 【设计思想】 热度:70人已围观

session对象

通过session可以在应用程序的Web页面之间进行跳转时,保存用户的状态,使整个用户会话一直存在下去,直到浏览器关闭。但是在一个会话中,客户端长时间不向服务器发出请求,session会自动消失。这个时间取决于服务器,可以通过程序进行修改。

1.创建及获取客户的会话

通过sessionsetAttribute()getAttribute()方法实现。

setAttribute()方法的语法格式:

session.setAttribute(String name,Object obj)

参数说明:

name:变量名

obj:保存在session范围的对象

范例:

将用户名“张三”保存到session范围的username变量中

session.setAttribute(“usernme1”,”张三”);

 

 

getAtrribute()的语法格式

getAttrbite(String name);

参数说明:

name:保存在session变量范围的参数名

getAttribute()方法的返回值是Object类型。

2.从会话中移除指定的绑定对象

removeAttribute()的语法格式:

removeAttribute(String name)

参数说明:

name:session中的变量名

范例:

将保存在session中的username移除

session.removeAttribute(“username”);

%>

 

3.销毁session对象

session对象的invalidate()方法可以销毁session,其语法格式为:

Session.invalidate();

session对象被销毁后,将不可在使用session对象,否则将报出Session already invalidate异常

4.会话超时的管理

session对象中提供了设置会话生命周期的方法:

getLastAccessTime ():返回客户端最后一次与会话有关的请求时间

 

 

getMaxInactiveInterval():以秒为单位,返回一个会话内两个请求的最大时间间隔

 

setMaxInactiveInterval():以秒为单位,设置session的有效时间

5.session对象的应用

范例:

index.jsp页面中,提供用户输入用户名的文本框;在session.jsp页面中,将用户 输入的用户名保存在session中,用户在该页面可以添加最喜欢的地方,在result .jsp页面中,显示用户输入的用户名和最喜欢的地方

index.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 PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

html>

  head>

    base href="basePath%>">

    

    title>My JSP 'index.jsp' starting pagetitle>

    

meta http-equiv="pragma" content="no-cache">

meta http-equiv="cache-control" content="no-cache">

meta http-equiv="expires" content="0">    

meta http-equiv="keywords" content="keyword1,keyword2,keyword3">

meta http-equiv="description" content="This is my page">

 

  head>

  

  body>

    form id="form1" name="form1" method="post" action="session/session.jsp">

     div align="center">

     table width="30%" border="1">

     tr>

     td width="40%">div align="center">您的名字是:div>td>

     td width="60%">

     lable>

     div align="center">

     input type="text" name="name">

     div>

     lable>

     td>   

     tr>

     tr>

     td colspan=“2”>

     lable>

     div align="center">

     input type="submit" name="submit" value="提交" />

     div>

     lable>

     td>

     tr>

     table>

     div>

    form>

  body>

html>

 

 

 

Result.jsp

 

 page language="java" import="java.util.*" pageEncoding="UTF-8"%>

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

    String place = request.getParameter("place");

    session.setAttribute("place",place);//获取保存在session中的对象

    String name = request.getParameter("name");

%>

 

DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

html>

  head>

    base href="basePath%>">

    

    title>result pagetitle>

    

meta http-equiv="pragma" content="no-cache">

meta http-equiv="cache-control" content="no-cache">

meta http-equiv="expires" content="0">    

meta http-equiv="keywords" content="keyword1,keyword2,keyword3">

meta http-equiv="description" content="This is my page">

 

  head>

  

  body>

    

    form id="form1" name="form1" method="post" action="">

     table width="30%" border="1">

     tr>

     td colspan="2">

     div align="center">

     stron>显示答案:

     stron>

     div>

     td>

     tr>

     tr>

     td width="45%">

     div align="left">

     您的名字是:

     div>

     td>

     td width="55%">

     label>

     div align="left">

     name %>

     div>

     label>

     td>

     tr>

     tr>

     td>

     label>

     div align="left">

     您喜欢的地方是:

     div>

     label>

     td>

     td>

     div align="left">

     place %>

     div>

     td>

     tr>

     table>

    form>

  body>

html>

 

 

 

Session.jsp

 

 page language="java" import="java.util.*" pageEncoding="UTF-8"%>

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

    String name = request.getParameter("name");//获取填写的用户名

    session.setAttribute("name", name);//将用户名保存在session中

%>

 

DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

html>

  head>

    base href="basePath%>">

    

    title>session jsptitle>

    

meta http-equiv="pragma" content="no-cache">

meta http-equiv="cache-control" content="no-cache">

meta http-equiv="expires" content="0">    

meta http-equiv="keywords" content="keyword1,keyword2,keyword3">

meta http-equiv="description" content="This is my page">

 

  head>

  

  body>

 

    div align="center">

     form id="form1" name="form1" method="post"  action="session/result.jsp">

     table width="30%" border="1">

     tr>

     td>您的名字是:td>

     td>name %>td>

     tr>

     tr>

     td>您最喜欢的地方是:td>

     td>

     label>

     input type="text" name="place">

     label>

     tr>

     tr>

     td colspan="2">

     label>

     div align="center">

     input type="submit" name="submit" value="提交" />

     div>

     label>

     table>

     form>

    div>

  body>

html>




  • 相关文章

文章评论

博客名片

职业:PHP程序员

现居:河南省-洛阳市

博客地址:www.lizongyang.cn

Email:5708837@qq.com

站点信息

  • 建站时间:2019-03-25
  • 网站程序:李宗洋博客
  • 联系电话:15888888888
  • 文章统计4084篇文章
  • 标签管理标签云
  • 微信公众号:扫描二维码,关注我们

打赏本站

  • 如果你觉得本站很棒,可以通过扫码支付打赏哦!
  • 微信扫码:你说多少就多少~
  • 支付宝扫码:你说多少就多少~

客服在线

服务时间

周一至周日 9:00-21:00