博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
同一用户的不同页面共享数据的方法
阅读量:6428 次
发布时间:2019-06-23

本文共 1620 字,大约阅读时间需要 5 分钟。

方法一  Cookie

服务器在客户端保存用户的信息,并在需要的时候从客户端(本机)读取用户信息

功能: (1) 保存用户名和密码,在一定时间不需重新登录

(2) 记录用户访问网站的喜好

(3) 网站的个性化

方法二  sendRedirect跳转(保密性不好,传递的信息会在url上显示)

实例:sendRedirect("wel?uname=ksyoon&pass=123");

注意点:(1)wel代表要跳转到的该Servlet的<url-pattern></url-pattern>内容;

(2)Servlet的url与变量之间用?连接;

(3)若要传递两个或两个以上变量用&连接;

(4)若要传递的数据是中文,会得到乱码;

修改LoginCl.java代码,实现当用户信息填写正确时,跳转到欢迎页面并显示用户名和密码

修改Wel.java代码,获取用户名并在页面显示

在浏览器上访问http:127.0.0.1:8080/myweb-site/login,用户信息填写正确后,跳转到欢迎页面,显示如下:

 

方法三  session技术

session的各个属性会占用服务器的内存,因此软件公司在迫不得已的情况下才使用session

应用: (1) 网上商城中的购物车 (2) 保存登录用户的信息 (3)防止用户非法登录到某个页面

(4)将某些数据放在session中,供同一用户的各个页面使用

常用方法:

(1)获得session,若没有则创建session    HttpSession hs = req.getSession(true);

(2)向session中添加属性      hs.setAttribute(String name,Object value);

(3)从session中获得某个属性   String name= hs.getAttribute(String name);

(4)从session中删除某个属性    hs.removeAttribute(String name);

(5)设置session存在时间,默认存在时间为30min,此方法中时间单位s     hs.setMaxInactiveInterval(int time);  

思路:

(1)在SessionTest1.java中新建session属性,并设置其存在时间,在SessionTest2.java中访问session属性,并测试在存在时间之外访问session是否能读取其属性值

 

(2)分别进行Servlet部署,如下:

 

(3)开启tomcat,在浏览器上访问http:127.0.0.1:8080/myweb-site/sessionTest1,页面效果如下:

 

在设置的session存在时间10s内,在同个页面上将sessionTest1改成sessionTest2,页面效果如下:

发现:两个页面效果中sessionId一样,在10s不做任何刷新操作的情况下,再次访问sessionTest2,页面效果如下:

 

 

方法四  隐藏表单提交(form)

案例思路:分别新建两个java文件,一个命名为HiddenForm1(隐藏用户的性别信息),另一个命名为HiddenForm2(文字输出用户性别信息),

代码如下:

分别进行Servlet部署

开启tomcat,在浏览器上访问http://127.0.0.1:8080/myweb-site/hiddenForm1,页面显示如下:

 

随意填写用户信息后,点击login,页面显示如下:

若想通过传输变量到用户性别,只需添加或修改HiddenForm1的代码

String s = "女";

pw.println("<input type=hidden name=sex value="+s+">");

最终页面显示:

 

转载于:https://www.cnblogs.com/KSYoon/p/9356825.html

你可能感兴趣的文章
java学习第一天1.2
查看>>
清空输入缓冲区的方法
查看>>
Yii2 项目优化小贴士
查看>>
UIScrollView的判断位置的属性如下:
查看>>
Applicatin Loader上传app步骤记录
查看>>
两种方法修改table表的内容
查看>>
张小龙莫慌 马化腾莫急 你们要好好的 微信还有时间
查看>>
一些常用软件静默安装参数(nsis,msi,InstallShield ,Inno)
查看>>
部署mimic版本的Ceph分布式存储系统
查看>>
Java缓冲流细节
查看>>
IOS中复制对象的用法及深拷贝和浅拷贝详解
查看>>
lfs
查看>>
Eclipse内存不够解决办法
查看>>
关于tbody js取法兼容。
查看>>
php 使用phpqrcode类生成带有logo的二维码 使logo不失真(透明)
查看>>
[CC]点云密度计算
查看>>
程序出错Program received signal:SIGKILL
查看>>
CATransition 动画处理视图切换
查看>>
[转载] 高等应用数学问题的matlab求解——第3章 微积分问题的计算机求解
查看>>
大整数比较大小
查看>>