您现在的位置是:首页 > 前端 > 前端开发 设计思想
JSP详细篇——session
博主
添加时间:2014-11-20 11:42:25
【设计思想】
热度:281人已围观
session对象
通过session可以在应用程序的Web页面之间进行跳转时,保存用户的状态,使整个用户会话一直存在下去,直到浏览器关闭。但是在一个会话中,客户端长时间不向服务器发出请求,session会自动消失。这个时间取决于服务器,可以通过程序进行修改。
1.创建及获取客户的会话
通过session的setAttribute()和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>
-
【牛腩新闻发布系统】----你的验证码正确么
前言这是一个神奇的网站——牛腩新闻发布系统,虽然做的不咋地,但毕竟是自己动手敲出来,还是有一点点的满足感。同时这也是小编的第一个雠小鸭,长相不算漂亮,发育还是挺健全的。 终有一天我的丑小鸭会变成白天鹅。 一步一步的进化,一步一步的蜕变…… ...
-
页面登陆框老是乱乱的?banner跨页图片缩小之后总是在侧面不能显示主要部分?哈哈~我来帮你忙~~
页面大小变化内容排布 banner图片排布 登陆框和banner背景混合排布 ...
-
【百度地图API】如何制作多途经点的线路导航——驾车篇
摘要: 休假结束,酸奶小妹要从重庆驾车去北京。可是途中要去西安奶奶家拿牛奶饼干呢!用百度地图API,能不能帮我实现这个愿望呢?------------------------------------------------------------------------------------------------ ...
-
easyui导出excel无法弹出下载框的解决办法
之前用ajax做的,代码如下(ActionUrl为一般处理程序ashx的路径): $.ajax({ url: ActionUrl + '?action=export& ...
-
【智能聊天机器人】小花猫的成长之路——3.雏形(让你立马拥有一个自己的智能聊天机器人)
大家好,今天不废话了,直接来给大家分享一下如何实现一个网页版智能聊天机器人的基本功能,也就是标题说的:雏形。 ...
文章评论
标签云 更多
-
PHP(35)
MySQL(0)
Linux(1)
前端(0)
SEO优化(0)
随笔(9)
PHP基础(1)
PHP类库(5)
PHP实例(56)
PHP函数(518)
PHP高级(0)
PHP与数据库(0)
PHP进阶(0)
PHP应用(0)
PHP安全(0)
PHP框架专栏(0)
PHP开放平台(0)
PHP面试题(62)
SEO专栏(569)
基础教程(120)
环境(154)
语法(15)
变量(13)
字符串(15)
运算符(6)
流程控制(13)
数组(188)
表单(4)
开发经验(120)
日期(31)
引用(11)
文件处理(39)
文件上传(21)
Cookie&Session(107)
E-mail(1)
点击排行
站长推荐
打赏本站
- 如果你觉得本站很棒,可以通过扫码支付打赏哦!
- 微信扫码:你说多少就多少~
- 支付宝扫码:你说多少就多少~