Servlet共享数据的五种方式

本文介绍了Web开发中常用的会话管理技术,包括Cookie、sendRedirect、隐藏表单、Session和ServletContext的应用。详细讲解了每种技术的具体实现方法及其注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一: Cookie (小甜饼)技术
说明:
1. 服务器 在客户端保存用户的信息
2.此表的数据类型都是String
a)创建一个 Cookie
Cookie  coo = new Cooke(String name,String value);
b)发送一个 Cookie 添加至客户端
HttpServletResponse res;
res.add Cookie (coo);
说明:在C盘的Documents and Settings内一个以用户名命名的文件夹下, Cookie s文件夹内
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)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值