servlet学习笔记2——同一用户的不同页面共享数据

第三讲:
1.同一用户的不同页面共享数据
    1.1 cookie技术
    什么是cookie:服务器在客户端保存用户的信息,如登录名、密码
一般保存在客户端的C:/Documents and Settings目录下

 


    1.2 sendRedirect()转向
    通过该方法将信息传送给下一个页面:比如
sendRedirect("welcom?uname=denglong");

的形式


优点:传送信息的速度比较快
缺点:它只传送送字符串,而不能传送一个对象
注意点: 1 welcome代表你要跳转的那个servlet的url
              2 servlet url名和变量之间有?号
              3 如果要传递两个以上的值,它们间要用&号分开
              4 如果传递的是中文,那你将得到乱码,需处理一下
作用:将一个页面的信息,传递给另外的页面


    1.3 隐藏表单提交(form)
形式:
<form action=login>
    <input type=hidden name=a value=b>
</form>


    1.4 session技术
什么是sesstion:
当用户打开浏览器,访问某个网站时,服务器就会在服务器的内存

 

 为该浏览器分配一个空间,该空间被这个浏览器独占。
这个空间就是session空间,该空间中的数据默认存在时间为

30min,亦可修改
应用方向:
1.网上商城中的购物车
2.保存登录用户的信息
3.将某些数据放入到session中,供同一用户的各个页面使用
4.防止用户登录到某个页面

把session看作一张表,这张表有两列。每一行就是session的一个

属性。每个属性包含两个部分,一个是该属性的名字(String),

另外一个是它的值(Object)
------------------------------------
|        String      |             Object |
------------------------------------
|                       |                        |    属性1

------------------------------------
|                       |                        |    属性2

------------------------------------
|                       |                        |    属性3
------------------------------------

使用session:
1:得到session
HttpSession hs=request.getSession(true);
2:想session添加属性
hs.setAttribute(String name,Object val);
3:从session得到某个属性
String name=hs.getAttribute(String name);
4:从session中删除某个属性:
hs.removeAttribute(String name);

 

 

注意
1.session中属性存在默认时间:30min(仅指用户发呆时间,不是

累积时间),可修改
a、修改C:/tomcat/conf目录中的web.xml(也可在apps中的web.xml中添加)
<session-config>
    <session-timeout>30</session-timeout>
</session-config>
b、修改程序

hs.setMaxInactiveInterval(30);//按秒计算
2.当某个浏览器访问网站时,服务器会给浏览器分配一个唯一的

session id,并以此来区分不同的浏览器
3.因为session的各个属性要占用服务器的内存,以此软件公司都是

在迫不得已的情况下,才使用

 

例子:防止用户非法登录到某个页面(如直接在地址栏输入servlet的地址)

在上个例子的基础上:

LoginCl.java

Wel.java

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值