Java Web 第五天 Web状态管理
一、
为什么要
Web
状态管理
对于每个容器而言每个请求都相当于一个新的客户,因为当服务器生成
Response
返回到客户端,在客户端显示出来后相对应的
Socket
就会关闭,所以
HTTP
协议是个无状态的协议,他不能保存当前用户的信息。
二、
实现状态管理的方式
1.
在网页中表单中添加隐藏字段
缺点:需要每次在
Servlet
中动态生成这种隐藏字段。
2.
利用
Cookie
缺点:所有的信息都保存在客户端,不安全。浏览器关闭后代表着当前
cookie
就过期了。
3.
利用
Session
优点:在客户端
cookie
中只保存一些不重要的信息,比如
SessionID
等内容,重要信息保存在服务器端,这样安全。而且当客户端禁用了
cookie
后能够利用
URL
重写实现。当客户端关闭后服务器端的
Session
不会销毁。
三、
Cookie
Cookie coo = new
Cookie(“xzw”,” 2005”);
response.addCookie(coo);
coo.getMaxAge(5);
四、
Session
通过
request.getSession()
创建
Session
对象,通过
invalidate()
使
Session
失效。
五、
URL
重写
Web
服务器会自动调用
Cookie
和
URL
重写,当客户端禁用
cookie
后会自动调用
URL
重写。
String str = response.encodeURL(“url”);
response.sendRirect(str);
相关文档:
原文引自http://hi.baidu.com/heyinjie/blog/item/608ee7108f1f4802203f2e35.html
打个比方:一个object就像一个大房子,大门永远打开。房子里有很多房间(也就是方法)。这些房间有上锁的(synchronized方法), 和不上锁之分(普通方法)。房门口放着一把钥匙(key),这把钥匙可以打开所有上锁的房间。另外我把所有想 ......
初学JAVA,好不容易解决了这个数据库连接问题,这个主要是有两个问题,一个是JDBC-odbc的问题,如果没有解决好数据源配置,绝对是有容易出问题的,假设你使用的是access的数据库,这是网上的一个例子的语句
String dburl="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=database.mdb";
其实并不需要那么长,假 ......
大家好! 我叫小郝 也是刚开始学用JAVA开发WEB项目,希望大家给我建议下,有什么方法可以学好,用JAVA开发WEB项目!~ 现在我还应该学点什么 希望大家多指点指点~ 我现在SSH 学完了! 大家能有什么好点的建议吗? 有的话联系下我谢谢了~ ......
Clone这个方法很鸡肋,原因是因为它是受保护的(protected),其二Clone这个方法是可选的,即有可能类没有提供这个方法。
clone没有调用构造函数,而且如果父类没有实现clone的话,子类永远也不可能正确实现clone.
总之,clone是个很头痛的函数,如果要正确实现,必须考虑到深考贝的情况,否则被克隆出来的对象就不是独立的 ......