JSP中session、cookie和application的使用
一、session (单用户使用)
1.用处:注册成功后自动登录,登录后记住用户状态等
使用会话对象session实现,一次会话就是一次浏览器和服务器之间的通话,会话可以在多次请求中保存和使用数据。
2.语法:
public void setAttribute(String name, Object o){}
session.setAttribute("name", "YeHuan"); // 此处的Object为String类型
public Object getAttribute(String name,){}
String str = (String)session.getAttribute("name");
3.工作方式
每个session都有一个唯一的sessionid,存储于服务器端。
String str = session.getId();

4.清除和过期
a.程序主动清除session数据
方法一:设置会话失效(所有属性都失效)
session.invalidate();
方法二:移除会话的一个属性
session.removeAttribute("name");
b.服务器主动清除长时间没有再次发出请求的session(如30分钟)
设置会话过期时间
方法一:在程序中写
session.setMaxInactiveInterval(int interval); <!-- interval的单位是秒 -->
方法二:修改web.xml文件
<session-config>
<session-timeout>30</session-timeout> <!-- 30的单位是分钟 -->
</session-config>
二、cookie
1.创建cookie
<%
String username = "YeHuan";
Cookie cookie = new Cookie("name",URLEncoder.encode(username, "utf-8"));
cookie.setMaxAge(60*60); <!-- 设置有效期 -->
response.addCookie(cookie);
%>
2.读取cookie
<%
Cookie[] data = request.getCookies();
for(int i=0;i<data.length;i++){
if(data[i].getName().equals("name"))
out.print("cookie:"+URLDecoder.decode(data[i].getValue(), "utf-8"));
}
%>
三、application
1.创建application
application.setAttribute("count", new Integer(1));
2.读取application
Integer i = (Integer)application.getAttribute("count");
3.案例
计算页面的访问次数
<%
Object count = application.getAttribute("count");
if(count==null){
application.setAttribute("count", new Integer(1));
}else{
Integer c = (Integer)count;
application.setAttribute("count", c.intValue()+1);
}
Integer i = (Integer)application.getAttribute("count");
out.print(i);
%>
四、request、session和application三者的比较
1.相同点
都可以存储属性
2.不同点
a.request中存储的数据仅在一个请求中可用;
b.session中存储的数据在一个会话的有效期内可用;
c.application存储的数据在整个web项目中可用。
JSP中session、cookie和application的使用的更多相关文章
- JSP中的Cookie
		如何创建Cookie 先引包: import="javax.servlet.http.Cookie" JSP是使用如下的语法格式来创建cookie的: Cookie cookie_ ... 
- JSP中Session的使用
		JSP session使用方法 <%@page contentType="text/html;charset=GB2312"%><html> <he ... 
- 转  jsp中 session的简单用法
		Session对象:是用来分别保存每一个用户信息的对象,以便于跟踪用户的操作状态.Session的信息保存在服务端,Session的ID保存在客户机的Cookie中.事实上,在许多服务器上,如果浏览器 ... 
- JSP中使用cookie存储中文
		今天看J2EE的时候,看见书上讲到使用cookie保存信息的时,看到书上举得例子都是英文的键值对,我就想中文是不是一样呢?试了一下果然不一样.废话不多说,直接上代码: 比如说有addCookie.js ... 
- 3、JSP中的Cookie 用于存储 web 页面的用户信息。
		cookie 在平时生活中的运用 存储用户在网页上的登陆信息,包括账号和密码. 有的网站,登陆的时候,会出现一个选项,问你是否要一周内或者一个月内保持登陆状态.如果你选了,那么一周之内,都不需要再输入 ... 
- JSP中取COOKIE中指定值得方法【转载】
		Cookie cookies[]=request.getCookies(); //读出用户硬盘上的Cookie,并将所有的Cookie放到一个cookie对象数组里面 Cookie sCookie=n ... 
- 如何在JSP中获得Cookie对象
		Cookie cookies[]=request.getCookies(); //读出用户硬盘上的Cookie,并将所有的Cookie放到一个cookie对象数组里面 Cookie sCookie=n ... 
- jsp中session执行机制
- JSP | 基础 |  JSP状态管理 | Cookie
		Cookie : 是web服务器保存在客户端的一系列文本信息. Cookie的作用: 1.对特定的对象的追踪 2. 3. JSP中创建Cookie以及使用 创建Cookie对象 写入Cookie对象 ... 
随机推荐
- laravel DB 类库
			DB 类操作数据库 基本用法: DB::table('tableName'); 获取操作tableName 表 增加信息 对数据库中的某个表增加数据主要有两个函数可以 ... 
- Python 爬取 书籍
			... import requests from bs4 import BeautifulSoup def gethtml(url,h): r = requests.get(url,headers=h ... 
- [atARC121D]1 or 2
			对于大小为1的集合,我们可以在其中加入0 因此,枚举0的个数,那么问题即可以看作要求每一个集合大小为2 (特别的,我们允许存在$\{0,0\}$,因为这样删除这两个0显然只会减小极差) 显然此时贪心将 ... 
- 【Tool】Node.js 安装
			Node.js 安装 2019-07-29 14:56:14 by冲冲 1. 说明 电脑使用node.js存在两种方式: ① 第一种,下载(.exe)到本地电脑,不需要安装,下载后点击 node. ... 
- selenium定位元素方法汇总
			#打开网页前三步 from selenium import webdriver driver=webidriver.Chrome() driver.get("https://www.baid ... 
- nvm安装以及管理多版本node教程
			安装nvm.node.npm 下载nvm安装包,推荐使用1.1.7,我个人使用1.1.8会有中文乱码的报错 点击exe文件,注意修改nvm的安装根目录以及node的安装根目录,后者是以后管理多版本no ... 
- CMake 工程调用 Makefile 编译项目
			本文主要介绍如何将一个依赖 Makefile 项目(MIDG)移植到 CMake 上. 首先介绍项目文件结构,文件主要由三个目录组成 3rdParty include src 其中,3rdParty ... 
- seqtk抽取测序数据
			做数据比较的时候,由于同一个样本测序数据量不一致,需要抽取数据,控制数据量基本一致. 自己写脚本速度较慢,后面发现一个不错的工具:seqtk 原始数据抽取 如果只控制原始数据量一致,过滤低质量数据后直 ... 
- SourceTree git 工作流
			转载自:https://www.cnblogs.com/tian-xie/p/6264104.html 1. SourceTree是什么 拥有可视化界面的项目版本控制软件,适用于git项目管理 win ... 
- socket编程:多路复用I/O服务端客户端之select
			其实在之前的TCP之中,我们编程实现了多进程,多线程机制下的TCP服务器,但是对于这种的TCP服务器而言,存在太大的资源局限性.所以我们可以是用I/0模型中的多路复用I/O模型来进行编程. 他的具体思 ... 
