JSP-04- 实现数据的保存
.1 Session
一段时间内,单个客户与Web服务器的一连串相关的交换过程。
Ø 4.1.1 应用的场景: 用户登录后保存用户状态
确定用户的唯一 Sessin.getId();
Ø 4.1.2 会话的创建和使用:
创建
Httpsession session= request.getSession(Boolean value);
Httpsession session= request.getSession();
在第一种方法中,布尔值为true时,如果存在与当前请求关联的会话,就返回该会话,否则就创建一个新的会话,并把该会话返回。布尔值为 flase 时,如果存在会话返回,否则返回 null, 不再创建会话。
第二种方法等同于第一种方法中的布尔参数值为true的情况。
使用
赋值语法: public void setAttribute(String name, Object value) ;
用法: session.setAttribute(“name”,”张曼”);
取值语法: public Object getAttribute(String name);
用法:String username = (String)session.getAttribute(“name”);
Session会保存在服务器端,如果没有清理机制,会导致性能问题或服务器崩溃。
清空Session:
1)程序主动清除Session数据
设置会话失效: session.invalidate(); //注销时
移除会话中一个属性:
语法: public void removeAttribute(String name);
用法: session.removeAttribute(“name”);
2)服务器主动清除长时间没有再次发出请求的session
设置会话过期时间:
方法一:public void setMaxInactiveInterval(int interval); (单位:秒)
可以再给Session赋值后,直接设置会话过期时间
方法二: 配置 Web.xml文件

添加
<session-config>
<session-timeout>30<session-timeout>
</session-config> (单位:分钟 注意放在 wep-app中)
结束Session的三种方式:
- 关闭浏览器
- 两次访问的间隔时间大于非活动时间
- 调用HttpSession的invalidate()方法
Ø 4.1.3 Session的生命周期

HttpSession技术不属于Http协议范围内,是由web容器为程序提供的服务。
4.2 cookie
Ø 4.2.3 应用场景
关闭浏览器,结束会话,重启后,用户名已填写。登录邮箱或其他服务,页面直接填好了用户名。
Ø 4.2.4 使用方法
public void addCookie(Cookie cookie)
Cookie以文件的形式保存信息,存放在客户端,可以再IE设置该文件。
添加数据: public void addCookie(Cookie cookie)
获取数据: public Cookie[] getCookies()
设置有效期: public void setmaxAge(int expiry)
用户可以禁用: cookie
添加:Cookie cookie = new Cookie(“变量名”,值);
Cookie.setmaxAge(60*60) ; //设置有效时间,默认为妙
Response.addCookie(cookie);
返回: Cookie[] cookie = request.getCookes();
for(……){
if(cookie.getName().equals(“变量名”)){
user=cookies[i].getValue;
}
}
禁用Cookie

4.3 application
4.3.1 使用场景: 统计页面访问次数,同时在线的人数
4.3.2 实现方式: public void setAttribute(String name,Object object)
Public Object getAttribute(String name)
<%
Object count = application.getAttribute(“count”);
if(count ==null){
application.setAttribute(“count”,new Integer(1));
}else{
Integer I = (Integer)count;
application.setAttribute(“count”,i.value()+1);
}
%>
Request中存储的数据尽在一个请求中可用。
Session中存储的数据在一个会话有效期内可以。
application中存储的数据在在整个web项目中可以。
JSP-04- 实现数据的保存的更多相关文章
- intellig idea中jsp或html数据没有自动保存和更换字体
主题一:保存数据jsp intellig idea是自动保存数据的,看到没有保存 解决方案: 成功解决 主题二:更换字体: 或者快捷键Ctel+Alt+s 成功解决
- Ubuntu10.04中利用V4L2读取摄像头数据并保存成文件【转】
转自:http://blog.chinaunix.net/uid-29339876-id-4042245.html 利用V4L2读取UVC摄像头数据并保存成视频文件,主要参考http://linuxt ...
- JSP中四种属性保存范围(1)
一.四种属性范围 在JSP中提供了四种属性保存范围 page:在一个页面内保存属性,跳转之后无效request:在一次服务请求范围内,服务器跳转后依然有效session:-在一次会话范围内,无论何种跳 ...
- 在DevExpress程序中使用Winform分页控件直接录入数据并保存
一般情况下,我们都倾向于使用一个组织比较好的独立界面来录入或者展示相关的数据,这样处理比较规范,也方便显示比较复杂的数据.不过在一些情况下,我们也可能需要直接在GridView表格上直接录入或者修改数 ...
- Java程序运行时,数据都保存到什么地方?
程序运行时,我们最好对数据保存到什么地方做到心中有数.特别要注意的是内存的分配.有六个地方都可以保存数据: 寄存器 这是最快的保存区域,因为它位于和其他所有保存方式不同的地方:处理器内部.然而,寄存器 ...
- 【matlab】将matlab中数据输出保存为txt或dat格式
将matlab中数据输出保存为txt或dat格式 总结网上各大论坛,主要有三种方法. 第一种方法:save(最简单基本的) 具体的命令是:用save *.txt -ascii x x为变量 *.txt ...
- android应用的数据应该保存到哪儿
王永超王永超嫖娼 做android app开发会涉及到不同数据的保存,比如数据缓存,客户登陆信息保存,客户状态的保存等等. 那针对这不同的数据我们应该保存在什么地方呢? 1.应用卸载也不会删除的数据 ...
- Android中突发情况Activity数据的保存和恢复
Android中突发情况Activity数据的保存和恢复 写在前面:在我们的APP使用的过程中,总有可能出现各种手滑.被压在后台.甚至突然被杀死的情况.所以对APP中一些临时数据或关键持久型数据,就需 ...
- Python学习_从文件读取数据和保存数据
运用Python中的内置函数open()与文件进行交互 在HeadFirstPython网站中下载所有文件,解压后以chapter 3中的“sketch.txt”为例: 新建IDLE会话,首先导入os ...
- 提取数据表保存为XML文件
//连接数据库 SqlConnection con = new SqlConnection("server=****;database=****;uid=sa;pwd=********&qu ...
随机推荐
- node中定时器的“先进”用法
var DSQ = setInterval(function(){ console.log('zzq'); },1000); setTimeout(function(){ clearInterval( ...
- Ubuntu 14.04安装OpenCV 3.1
从OpenCV官网上下载OpenCV官网上下载OpenCV的未编译源代码: 点击这里 国内很多网络打开OpenCV官网速度缓慢,可以点击如下地址直接从GitHub上下载OpenCV 3.1的源代码 下 ...
- JS之setAttribute和getAttribute
1.ele.getAttribute(attributeName); 返回元素的指定属性值,如果元素没有该属性,则返回null 2.ele.setAttribute(attributeName,val ...
- Webapp的display-name问题
临时需要做一个webapp,就按myeclipse缺省的web工程做了,web.xml也没改,本地测试没问题就放到服务器上去了. 测试发现,走 http://服务器ip:8080/appname居然出 ...
- iOS FMDB官方使用文档 G-C-D的使用 提高性能(翻译)(转)
由于FMDB是建立在SQLite的之上的,所以你至少也该把这篇文章从头到尾读一遍.与此同时,把SQLite的文档页 http://www.sqlite.org/docs.html 加到你的书签中.自动 ...
- 30天,App创业从0到1【7.12西安站】
活动概况 时间:2015年07月12日13:30-16:30 地点:汇天使咖啡(高新路36号智空间二楼) 主办:APICloud.UPYUN.万紫网络 网址:www.apicloud.com 费用:免 ...
- 解决MyEclipse吃内存以及卡死的方法
前言:MyEclipse5.5 大小 139M:MyEclipse6.5 大小 451M:MyEclipse7.0 大小 649M!下载服务器又是国外的...下载速度累人也就罢了,只要你工作性能一流. ...
- SQL Update实现使用一个表的数据更新另一张表
表结构 功能 SQL Serevr Access 表结构
- hibernate中@Entity和@Table的区别
Java Persistence API定义了一种定义,可以将常规的普通Java对象(有时被称作POJO)映射到数据库.这些普通Java对象被称作Entity Bean.除了是用Java Persis ...
- SmartGit as SVN Bridge
This page provides an introduction to SmartGit from an SVN users perspective and shows how the SVN w ...