知识大全 Oracle知识—HTTP Servlet中持久化状态
Posted 知
篇首语:须知少年凌云志,曾许人间第一流。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Oracle知识—HTTP Servlet中持久化状态相关的知识,希望对你有一定的参考价值。
Oracle知识—HTTP Servlet中持久化状态 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
HTTP协议的无状态
在HTTP协议中无状态的优缺点
a) HTTP交互是无状态的
无状态是指 当浏览器发送请求给服务器的时候 服务器响应 但是同一个浏览器再发送请求给服务器的时候 他会响应 但是他不知道你就是刚才那个浏览器
b) 优点
i 客户浏览器不会注意到服务器出现故障并重启
ii 在服务器不需要先前信息时它的应答就较快
c) 缺点
i 对于事务处理没有记忆能力 可能导致每次连接传送的数据量增大
ii 很难产生收集信息去产生良好用户体验的一组页面
HTTP如果有状态的好处
a) 减少数据的传送量
b) 认证网页可以收集用户的认证信息
c) 可以定义用户的对网页的访问权限
Cookie的原理和应用
Cookie
a) 定义
是一种由服务器发送给客户的片段信息 存储在客户端浏览器的内在中或硬盘上 在客户随后对该服务器的请求中发回它
b) Cookie规范
i Netscape规范(版本 )
ii RFC (HTTP状态管理机制 版本 )
c) 响应报头
Set Cookie: NAME=VALUE; Comment=value; Domain=value; Max Age=value; Path=value; Secure; Version= *DIGIT
d) 其他
Cookie中文译为小甜饼 是由Netscape公司发明的 Netscape公司也是最早开发浏览器的公司 在互联网刚刚发展的前期 它凭借着先入为主的优势Netscape也曾经成为最流行的浏览器 但由于windows 的普及 微软公司将IE浏览器与windows进行绑定销售 Netscape逐渐销声匿迹 不为人知了 但现在大多数的互联网协议与规范都源于Netscape公司的产品 Cookie就是其中之后 它是一种由服务器发送给客户的片段信息 它可以存储在客户端浏览器的内在中或硬盘上 然后在客户随后对该服务器的请求中发回它 Cookie目前遵循的规范主要是两种 一个就是Netscape规范 它的规范文件可以在找到 另一个是RFC 它的规范文件可以在上找到 这两个规范 规定了在HTTP协议中 关于cookie的报头的形式 比如 在RFC 规范中 规定了响应报头的形式是这样子的 Name是cookie的名字 vlue是它的值 Name=value属性 值对必须首先出现 在此之后的属性值对可以以任何顺序出现 Comment属性是可选的 因为cookies可能包含关于用户私有的信息 这个属性允许服务器说明这个cookie的使用 用户可以检查这个信息 然后决定是否加入或继续会话 Domain属性是可选的 用于指定Cookie在哪一个域有效 所指定的域必须以点号开始 Max age属性是可选可的 用于定义Cookie的生存时间 以秒为单位 如果超过了这个时间 客户端应该丢弃这个cookie 如果指定的秒数为 表示这个cookie应该立即被丢弃 Path属性是可选的 用于指定这个cookie在哪一个URL子集下有效 Secure属性是可选的 它没有值 用于指示浏览器使用安全的方式与服务器交互 Version属性是必需的 它的值是一个十进制的整数 标识cookie依照的状态管理规范的版本 对于RFC Version应该设为
使用Cookie编程
a) 特点
i 以键 值对的方式记录会话跟踪的内容
ii Cookie的持久性较高
iii 用户可以手动限制cookie的使用
iv Session可以用来替代Cookie
设置一个Cookie
a) 创建cookie:
Cookie c = new Cookie("MyName" "MyValue");
b) Cookie的方法
i getConnment() setComment(String purpose)
ii getDomain() setDomain(String pattern)
iii getMaxAge() setMaxAge(int expiry)
iv getName() getValue()
v setValue(String newValue)
vi getPath() setpath(String uri)
c) 使用cookie
i Response addCookie()
ii Request getCoonkie()
实例—登录程序
a) 功能
i 使用cookie来保存用户登录信息
ii 初次登录 将信息保存到客户端的硬盘上
iii 再次访问 先验证用户登录信息 通过后显示欢迎信息
b) 步骤
i 第一步 编写LoginServlet java和GreetServlet java
ii 第二步 编译JAVA源文件
iii 第三步 部署servlet
实例—LoginSerlvet
实例—GreetServlet
向浏览器输出会话
a) Cookie
i 跟踪跟浏览器有关的会话
ii 有些浏览器不支持
iii 有些用户由于安全原因不使用
b) 重写URL
i 通过一个请求URL的会话ID把一个会话绑定到一个浏览器上
ii 耗费时间去扫描页面和URL重定向
iii 使用encodeURL()和encodeRedirectURL()
Session的原理和应用
Session
a) 定义
i 一个浏览器到一个服务器相关的HTTP交互的集合
ii 是被浏览器访问的Servlet获取的与那些交互相关的数据集合
b) javax servlet 支持的接口
HttpSession接口
a) HttpSession接口中的方法
i public Object getAttribute(String name)
ii public void setAttribute(String name Object value)
iii public void removeAttribute(String name)
iv public int setMaxInactiveInterval()
v public void invalidate()
补充说明
a) Servlet运行就会创建会话
b) Servlet可以通过下面的方法来获得session对象:
getSession()
c) 任何servlet可以请求创建会话
d) 对处理目标浏览器中请求的所有Servlet都可以访问会话中的信息
e) 会话会由于浏览器的不活跃而超时而失效
Cookie和Session比较
a) session
i 由服务器端创建
ii 由服务端保存信息
iii 打开新的浏览器 就会开始一次新的会话
b) Cookie
i 由服务器发送给客户端的片段信息 存储在客户端浏览器的内存中或硬盘上
ii 由客户端保存信息
iii 在cookie有效期间内 多个浏览器可访问同一个cookie对象
回顾Cookie和Session
Cookie在一个浏览器中存储一个变量和对应的值
Cookie可以由浏览器用户配置
不是所有的浏览器都支持Cookie
可以使用addCookie()和getCookie ()方法获取Cookie
session是由浏览器和网络服务器之间的交互所关联的数据集合
每打开一个浏览器 就会创建一个新的session对象
会话开发时存在下列方法:
getSession()
setAttribute(key value)
cha138/Article/program/Oracle/201311/19004相关参考
知识大全 Weblogic 连接池 + Oracle + Servlet 的无状态SessionBean
Weblogic连接池+Oracle+Servlet的无状态SessionBean 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内
借助Oracle数据库实现Python数据持久性 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
packagewebaction; importjavautilArrayList; importjavautilList; importjavaxservletHttpServlet;
知识大全 Lotus Domino中基于Servlet的报表实现
LotusDomino中基于Servlet的报表实现 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
知识大全 Spring强制向servlet中注入bean的方法
Spring强制向servlet中注入bean的方法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
关于Servlet及JSP中遇到的多线程同步问题 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
在jsp和servlet的开发中今天自己做的一个小例子中出现了中文乱码问题用了许多方法发现还是解决不了最后我用了过滤器才算终结 此方法总结如下在jsp页面中使用<%@pagepageEnc
知识大全 jsp Servlet中脚本元素、指令和预定义变量解析
jspServlet中脚本元素、指令和预定义变量解析 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
知识大全 解析web.xml中在Servlet中获取context-param和init-param内的参数
解析web.xml中在Servlet中获取context-param和init-param内的参数 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜
知识大全 浅析javax.servlet.Servlet,ServletContext接口
浅析javax.servlet.Servlet,ServletContext接口 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容