Servlet共享数据的五种方式

Servlet共享数据的五种方式

一:Cookie(小甜饼)技术

说明:
1.服务器在客户端保存用户的信息
2.此表的数据类型都是String

a)创建一个Cookie表
Cookie coo = new Cooke(String name,String value);

b)发送一个Cookie添加至客户端
HttpServletResponse res;
res.addCookie(coo);
说明:在C盘的Documents and Settings内一个以用户名命名的文件夹下,Cookies文件夹内

c)从客户端得到所有的Cookie至服务器
HttpServletRequest req;
Cookie[] allCookies = req.getCookies();
for(Cookie temp:allCookies)
{
 if(temp.getName().equals("***")){
  String value = temp.getVelue();
 }
}

d)Cookie存在时间的设置(以秒为单位)
coo.setMaxAge(60*1);
说明:不设置则此Cookie将不会保存

e)删除这一个Cookie
temp.setMaxAge(0);

二:sendRedirect()转向

a)发送数据
 HttpServletResponse res;
 res.sendRedirect("ServletName?name1="+value_1+"&name2="+value_2);
 说明:这行数据将会全然暴露于浏览器地址栏中!
 
b)接收数据
 HttpServletRequest req;
 String name_1 = req.getParameter("name1");
 String name_2 = req.getParameter("name2");

三:隐藏表单

a)发送数据
<form action=login>
 <input type=hidden name=a value=b>
</form>

b)接收数据

四:Session技术

说明:
1.存储至服务器端内存中
2.在Tomcat\conf\web.xml中,发呆时间的默认值(以分钟为时间单位)
  <session-config>
   <session-timeout>30</session-timeout>
  </session-config>
  
a)创建一个session表
HttpServletResponse res;
HttpSession hs = request.getSession(true);

b)向session添加属性
hs.setAttribute(String name,Object val);

c)从session得到某个属性的值(Object类型)
String name_value = (String) hs.getAttribute(String name);

d)从session除去某个属性
hs.removeAttribute(String name);
说明:一个属性的除去不影响其它属性的存在

e)得到session的id
String sessionID = ht.getId();

f)设置session的发呆时间(以秒为单位)
ht.setMaxInactiveInterval(60*1);

g)撤去session全部信息,至session无效
ht.setMaxInactiveInterval(0);

五:ServletContext技术

说明:
1.此技术用于多个客户端共享服务器中的一个数据
2.ServletContext中的属性的生命周期从创建开始,到服务器关闭而结束
3.多配合File技术使用

a)如何得到一个ServletContext实例
ServletContext sc = this.getServletContext();

b)添加一个属性
sc.setAttribute(String name,Object ob);

c)得到这个属性的值(类型为Object)
String info = (String)sc.getAttribute(String name)

d)除去一个属性
removeAttribute(String name)

转载于:https://my.oschina.net/u/159105/blog/26337

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值