疯狂java


您现在的位置: 疯狂软件 >> 新闻资讯 >> 正文

servlet同一用户的不同页面共享数据


 

  servlet同一用户的不同页面共享数据
 
  1.cookie技术
 
  以后添加
 
  2.sendRedirect()转向
 
  通过该方法可以将信息传递
 
  例如:sendRedirect("welcome?username=XXX");
 
  1.welcome代表要跳转的servlet的url
 
  2.问号间隔
 
  3.传递两个以上的值,要用&号分开 例如sendRedirect("welcome?username=xxx&pass=xxx")
 
  4.如果传递的是中文,将得到乱码,需要处理
 
  注意:参数名不对应,值则为null
 
  优点:传送速度快 缺点:只能传送字符串,不能传送对象
 
  ps:sendRedirect()会在地址栏留下传递参数的信息
 
  所以,要求安全性高的话还是借助session或者信息加密传递后再解密等
 
  3.隐藏表单
 
  最常见的一种方式,也是最简单的,但有时该技巧非常管用,形如:
 
   <form action=login>   
 
      <input type=hidden name=a value=b>   
 
    </form>  
 
  4.session技术
 
  1:网上商城购物车
 
  2:保存用户的信息
 
  3:将某些数据放入session,供同一用户的各个页面使用
 
  4:防止用户非法登录到某个页面、、、、、、
 
  session每个属性包含两个方面:名字(String)和对应的值(Object)
 
  得到session: HttpSession ses=request.getSession(true);
 
  向session添加属性: ses.setAttribute(String name,Object val);
 
  //其中name是属性名称,val是属性的值
 
  从session获得某个属性: String val=ses.getAttribute(String name);
 
  从session删除某个属性: ses.removeAttribute(String name);//根据属性名称
 
  修改session的时间:ses.setMaxInactiveInterval(20);//按秒来计算,负值永远不超时
 
  session中属性存在的时间默认30min(不动的时间,也就是不操作session的间隔时间,不是累计时间),也可以修改:
 
  1、修改web.xml
 
  2、在程序中修改
 
  浏览器访问网站时,服务器会给浏览器分配唯一的session id,来区分不同客户端(区别浏览器,而不是不同窗口)