
三、四种属性范围及应用
setAttribute(String name,Object o)设置属性
getAttribute(String name)根据属性名取得属性
removeAttribute(String name)根据属性名删除属性
(一)session
session范围为同一个浏览器有效。每一个浏览器连接到服务器后实际上都表示自己的session属性,所以打开一个新的浏览器无法取得以前打开的浏览器的sessions属性。
session是javax.servlet.http.HttpSession接口的实例化对象,所以session只能用在Http协议中
常用方法
注意:session的生命周期是可以修改的
session应用
1、网页重写
url?key1=value1&ke2=value2
缺点:
(1)在有些web浏览器中,URL限制2000个字符。
(2)仅当有链接要插入值时,值才能转换成后面的资源。
(3)某些字符,例如空格、&符号及问号都必须进行转码。
(4)添加到URL中的信息隐蔽性不好。

2、隐藏域
优势:(1)能传递更多的信息。
(2)隐蔽性更好。
(3)传递的信息不需要进行编码。
3、cookie
网页重写和隐藏域都只适合于保持哪些不需要跨越许多页面的信息。如果这些信息需要跨越很多页面,这两种技术就变得很难实现,因为必须管理每一个页面的信息。cookie能解决网页重写和隐藏域都无法解决的问题。
那什么是Cookie呢?
Cookie是浏览器提供的一种技术,它可以热情服务端的程序将一些只须保存在客户端,或者在和客户端处理的数据放在本身使用的计算机中。jsp和java的区别(安全性很差)Cookie是自动在web服务器和浏览器之间来回传递的一小块信息。Cookie适用于跨越多个页面的信息。传输的过程由HTTP协议处理。每台Web服务器最多可以支持20个cookie。jsp和java的区别
Cookie的不足之处在于,用户可以通过修改浏览器设置来拒绝接收cookie。
要使用Cookie,必须熟悉javax.servlet.http.cookie类,以及HttpServletRequest和HttpServletResponse接口中的几个方法。
一个浏览器最多保存300个Cookie,要设置Cookie的保存时间才能真正在浏览器保存Cookie,系统会在每一个客户端访问服务器时自动设置一个Cookie
(二)page
只在一个页面内有效,跳转之后就无效了
在javax.servlet.jsp.PageContext的setAttribute(String name,Object o,int scope)方法还可以指定保存范围
public static final int PAGE_SCOPE page属性范围,默认
public static final int REQUEST_SCOPE request属性范围
public static final int SESSION_SCOPE session属性范围

public static final int APPLICATION_SCOPE application属性范围
(三)request
只在一次请求中保存,服务器跳转后有效(客户端跳转无效,如超链接跳转)
request是javax.servlet.http.HttpServletRequest接口的实例化对象,而HttpServletRequest是ServletRequest的子接口,所以查找request对象的方法时可一从这两个接口的方法中找
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-64732-1.html
时以为只有万恶的旧社会才会多男找一个老婆
是它自己撞伤“导弹”的
我不抢