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

时间:2022-02-26 02:50:26

一.cookie技术

  cookie的讲解和使用
  ---------------
  服务器在客户端保存用户的信息,比如登录名,密码等...就是cookie,
  服务器端在需要时可以从客户端读取。
  cookie可以用来做什么?
      1、保存用户名,密码,在一定时间可以不用重新登录等
      2、记录用户访问网站的喜好
      3、网站的个性化
  cookie使用?
      1、cookie像一张表,分两列,名字和值,数据类型都是String
      2、如何创建一个Cookie(在服务端创建的)
         Cookie c=new Cookie(String name,String val);
      3、设置cookie存在时间
         c.setMaxAge(int time);
         以秒计时,如果为正数,则保存,负数则不保存,0则删除该cookie
         不设置存在时间,cookie将不会保存
      4、如何讲一个Cookie添加到客户端
         response.addCookie(c);
      5、如何读取cookie(从客户端读取到服务器端)
         request.getCookies();
  cookie与session区别
    1.存在的位置
       cookie在客户端,session在服务器端
    2.安全性
       cookie安全性较弱
    3.网络传输
       cookie在服务器与客户端传输,session在服务器端,不需要传输
    4.声明周期
       cookie生命周期是累计的,从创建时就开始计时
       session生命周期是间隔的,创建时,开始计时,在20分钟之内没有访问session,那么session信息无效,如果在20分钟内,比如第19分访问,那么重新开始计时
       关机会让session结束,但是cookie不会受影响

二.sendRedirect()转向  

    通过该方法可以将信息传递

    例如:sendRedirect("welcome?username=XXX");

    1.welcome代表要跳转的servlet的url

    2.问号间隔

    3.传递两个以上的值,要用&号分开    例如sendRedirect("welcome?username=xxx&pass=xxx")

    4.如果传递的是中文,将得到乱码,需要处理

    注意:参数名不对应,值则为null

    优点:传送速度快        缺点:只能传送字符串,不能传送对象

    ps:sendRedirect()会在地址栏留下传递参数的信息

所以,要求安全性高的话还是借助session或者信息加密传递后再解密等

三.隐藏表单   

  最常见的一种方式,也是最简单的,但有时该技巧非常管用,形如:

     <form action=login>

      <input type=hidden name=a value=b>

    </form>

四.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,来区分不同客户端(区别浏览器,而不是不同窗口)

servlet同一用户的不同页面共享数据的更多相关文章

  1. servlet第3讲&lpar;中集&rpar;----同一用户的不同页面共享数据

    5.session 5.1session概述 5.2.session应用举例  

  2. servlet第3讲&lpar;上集&rpar;----同一用户的不同页面共享数据

    1.方法综述 2.Cookie 3.sendRedict()方法     4.隐藏表单

  3. Serlvet学习笔记之二—不同页面共享数据

    一共有四种方法实现共享页面共享数据 1.cookie 2.sendRedirect 3.session 4.隐藏表单提交(form) 5.ServletContex 1.cookie:服务器在客户端保 ...

  4. Vue总结第六天:Vuex (全局变量管理~多个页面共享数据)

    Vue总结第六天:Vuex (全局变量管理~多个页面共享数据) 目录 一.Vuex (全局变量管理~~多个页面共享数据) ✿ 更详细的可以看官网:开始 | Vuex 1.什么是Vuex? 2.核心概念 ...

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

    如何实现不同页面之间的数据传递,实现页面的数据共享?常见的方法有以下4种: 1)表单提交(form) 2)sendRedirect()跳转 3)session技术 4)Cookie技术 表单提交 这是 ...

  6. 入门servlet:request请求转发和共享数据

    request 请求转发:一种在服务器内部的资源跳转方式 步骤: 1.通过request对象获取请求转发器对象:RequestDispatcher getRequestDispatcher(Strin ...

  7. Servlet课程0425(五) sendRedirect实现不同页面共享数据

    Login.java //登录界面 package com.tsinghua; import javax.servlet.http.*; import java.io.*; public class ...

  8. Cookie&amp&semi;Seesion会话 共享数据 工作流程 持久化 Servlet三个作用域 会话机制

    Day37 Cookie&Seesion会话 1.1.1 什么是cookie 当用户通过浏览器访问Web服务器时,服务器会给客户端发送一些信息,这些信息都保存在Cookie中.这样,当该浏览器 ...

  9. servlet自动获取前端页面提交数据

    servlet自动获取前端页面jsp提交数据 以下是本人在学习过程中,因前端页面提交参数过多,后台servlet封装实体类过于麻烦而写的一个工具类,应用于jsp/servlet数据提交后,基于MVC+ ...

随机推荐

  1. Mina 中遇到SLF4J&colon; Failed to load class &quot&semi;org&period;slf4j&period;impl&period;StaticLoggerBinder&quot&semi;

    SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".SLF4J: Defaulting to no-op ...

  2. MYSQL数据库根据data文件中的&period;frm和ibd文件恢复单表数据

    数据库误操作,把表的字段删除了,关键是被删除的字段的数据很重要,现在想要恢复数据,下面说说是怎么操作的. 数据库只剩.frm和.ibd文件了,按照网上的做法分如下两步来进行:一.找回表结构,二.找回数 ...

  3. HDU 5794 - A Simple Chess

    HDU 5794 - A Simple Chess题意: 马(象棋)初始位置在(1,1), 现在要走到(n,m), 问有几种走法 棋盘上有r个障碍物, 该位置不能走, 并规定只能走右下方 数据范围: ...

  4. Bmp 解析 &lpar;2013-09-09 19&colon;30&colon;41&rpar;

    bmp 图片结构 位图格式(bmp)是显示图片的基本格式,其文件扩展名为*.BMP. 在Windows下,任何各式的图片文件(包括视频播放)都要转化为位图才能显示出来,其他各种格式的图片文件是在位图格 ...

  5. 【Linux探索之旅】第二部分第二课:命令行,世界尽在掌握

    内容简介 1.第二部分第二课:命令行,世界尽在掌握 2.第二部分第三课预告:文件和目录,组织不会亏待你 命令行,世界尽在掌握 今天的标题是不是有点霸气侧漏呢? 读者:“小编,你为什么每次都要起这么非主 ...

  6. jmap -histo pid 输出的&lbrack;C &lbrack;B &lbrack;I &lbrack;S methodKlass constantPoolKlass含义

    jmap -histo pid 输出的[C [B [I [S methodKlass constantPoolKlass含义 2014年01月16日 11:00:12 lxb_champagne 阅读 ...

  7. 慢工出细活 JS 等待加载效果

    实例可以直接运行查看效果.很方便快捷 <html> <head> <meta http-equiv="content-Type" content=&q ...

  8. 【qt】QT 的信号与槽机制

    QT 是一个跨平台的 C++ GUI 应用构架,它提供了丰富的窗口部件集,具有面向对象.易于扩展.真正的组件编程等特点,更为引人注目的是目前 Linux 上最为流行的 KDE 桌面环境就是建立在 QT ...

  9. keras基础-优化策略:mini-batch gradient decent

    参考<Keras中文文档>http://keras-cn.readthedocs.io/en/latest/ 相关概念:神经网络优化器(优化策略).梯度下降.随机梯度下降.小批的梯度下降( ...

  10. How To Install Cacti On Ubuntu 14

    How To Install Cacti On Ubuntu 14.04/14.10 by anismaj Cacti is an open source web based network moni ...