JSP-04- 实现数据的保存

时间:2022-08-30 23:36:19

.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文件

JSP-04- 实现数据的保存

添加

<session-config>

<session-timeout>30<session-timeout>

</session-config> (单位:分钟   注意放在 wep-app中)

结束Session的三种方式:

  1. 关闭浏览器
  2. 两次访问的间隔时间大于非活动时间
  3. 调用HttpSession的invalidate()方法

Ø  4.1.3 Session的生命周期

JSP-04- 实现数据的保存

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

JSP-04- 实现数据的保存

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- 实现数据的保存的更多相关文章

  1. intellig idea中jsp或html数据没有自动保存和更换字体

    主题一:保存数据jsp intellig idea是自动保存数据的,看到没有保存 解决方案: 成功解决 主题二:更换字体: 或者快捷键Ctel+Alt+s 成功解决

  2. Ubuntu10&period;04中利用V4L2读取摄像头数据并保存成文件【转】

    转自:http://blog.chinaunix.net/uid-29339876-id-4042245.html 利用V4L2读取UVC摄像头数据并保存成视频文件,主要参考http://linuxt ...

  3. JSP中四种属性保存范围&lpar;1&rpar;

    一.四种属性范围 在JSP中提供了四种属性保存范围 page:在一个页面内保存属性,跳转之后无效request:在一次服务请求范围内,服务器跳转后依然有效session:-在一次会话范围内,无论何种跳 ...

  4. 在DevExpress程序中使用Winform分页控件直接录入数据并保存

    一般情况下,我们都倾向于使用一个组织比较好的独立界面来录入或者展示相关的数据,这样处理比较规范,也方便显示比较复杂的数据.不过在一些情况下,我们也可能需要直接在GridView表格上直接录入或者修改数 ...

  5. Java程序运行时,数据都保存到什么地方?

    程序运行时,我们最好对数据保存到什么地方做到心中有数.特别要注意的是内存的分配.有六个地方都可以保存数据: 寄存器 这是最快的保存区域,因为它位于和其他所有保存方式不同的地方:处理器内部.然而,寄存器 ...

  6. 【matlab】将matlab中数据输出保存为txt或dat格式

    将matlab中数据输出保存为txt或dat格式 总结网上各大论坛,主要有三种方法. 第一种方法:save(最简单基本的) 具体的命令是:用save *.txt -ascii x x为变量 *.txt ...

  7. android应用的数据应该保存到哪儿

    王永超王永超嫖娼 做android app开发会涉及到不同数据的保存,比如数据缓存,客户登陆信息保存,客户状态的保存等等. 那针对这不同的数据我们应该保存在什么地方呢? 1.应用卸载也不会删除的数据 ...

  8. Android中突发情况Activity数据的保存和恢复

    Android中突发情况Activity数据的保存和恢复 写在前面:在我们的APP使用的过程中,总有可能出现各种手滑.被压在后台.甚至突然被杀死的情况.所以对APP中一些临时数据或关键持久型数据,就需 ...

  9. Python学习&lowbar;从文件读取数据和保存数据

    运用Python中的内置函数open()与文件进行交互 在HeadFirstPython网站中下载所有文件,解压后以chapter 3中的“sketch.txt”为例: 新建IDLE会话,首先导入os ...

  10. 提取数据表保存为XML文件

    //连接数据库 SqlConnection con = new SqlConnection("server=****;database=****;uid=sa;pwd=********&qu ...

随机推荐

  1. 【转】 TechED2010与我&lpar;三&rpar; —— 初识云计算

    作者用到的比喻很好. 网址:TechED2010与我(三) -- 初识云计算 初识云计算最近"云计算"被炒的很热,但是由于工作重点主要是做WinForm的控件开发,对云计算的接触比 ...

  2. Win2012 R2 IIS8&period;5&plus;PHP&lpar;FastCGI&rpar;&plus;MySQL运行环境搭建教程

    这篇文章主要介绍了Win2012 R2 IIS8.5+PHP(FastCGI)+MySQL运行环境搭建教程,需要的朋友可以参考下 准备篇 一.环境说明: 操作系统:Windows Server 201 ...

  3. 漫谈C语言及如何学习C语言

    抄自:http://my.oschina.net/apeng/blog/137911 目录:[ - ] 为什么要学习C语言? C语言学习方法 1,参考书籍 2,动手实验环境搭建 3,网络资源 附录 一 ...

  4. &lpar;转&rpar;Asp&period;Net 请求处理机制

    原文:http://www.cnblogs.com/cilence/archive/2012/05/28/2520712.html Asp.Net 请求处理机制   前言 我们都知道Web请求响应是基 ...

  5. IntelliJ IDEA中类似Eclipse自动补全变量名称和属性名称的快捷键

    IntelliJ IDEA 默认快捷键模式下 自动补全变量名称 : Ctrl + Alt + v 自动补全属性名称 : Ctrl + Alt + f

  6. &lbrack;C&num;&rsqb; 動的にアセンブリをロードする

    アプリケーション ドメインにおいて起動時に読み込まれない別のアセンブリ (.dll や .exe) を読み込む場合.System.Reflection.Assemby クラスの Load メソッドを使 ...

  7. MySQL SQL审核平台 inception&plus;archer2&period;0(亲测)

    docker run -d --privileged -v `pwd`/archer_data:/data -p 9306:3306 --name archer --hostname archer - ...

  8. VS2013编译报错error C4996&colon; &&num;39&semi;sprintf&&num;39&semi;&colon; This function or variable may be unsafe&period; Consider using sprintf&lowbar;s instead&period; To disable deprecation&comma; use &lowbar;CRT&lowbar;SECURE&lowbar;NO&lowbar;WARNINGS&period;

    解决方法有两个: 1. 在预编译头文件stdafx.h里(在没有include任何头文件之前)定义下面的宏: #define _CRT_SECURE_NO_DEPRECATE 2. 将sprintf函 ...

  9. Go语言规格说明书 之 通道 发送语句(send) 和 接收操作符(receive)

    go version go1.11 windows/amd64 本文为阅读Go语言中文官网的规则说明书(https://golang.google.cn/ref/spec)而做的笔记,介绍Go语言的 ...

  10. python监控服务器的主备模式

    #-*- coding:utf8 -*-import paramikoimport re def check_active_ac(intervals=1): client = paramiko.Tra ...