servlet同一用户的不同页面共享数据
一.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同一用户的不同页面共享数据的更多相关文章
- servlet第3讲(中集)----同一用户的不同页面共享数据
5.session 5.1session概述 5.2.session应用举例
- servlet第3讲(上集)----同一用户的不同页面共享数据
1.方法综述 2.Cookie 3.sendRedict()方法 4.隐藏表单
- Serlvet学习笔记之二—不同页面共享数据
一共有四种方法实现共享页面共享数据 1.cookie 2.sendRedirect 3.session 4.隐藏表单提交(form) 5.ServletContex 1.cookie:服务器在客户端保 ...
- Vue总结第六天:Vuex (全局变量管理~多个页面共享数据)
Vue总结第六天:Vuex (全局变量管理~多个页面共享数据) 目录 一.Vuex (全局变量管理~~多个页面共享数据) ✿ 更详细的可以看官网:开始 | Vuex 1.什么是Vuex? 2.核心概念 ...
- servlet同一用户不同页面共享数据
如何实现不同页面之间的数据传递,实现页面的数据共享?常见的方法有以下4种: 1)表单提交(form) 2)sendRedirect()跳转 3)session技术 4)Cookie技术 表单提交 这是 ...
- 入门servlet:request请求转发和共享数据
request 请求转发:一种在服务器内部的资源跳转方式 步骤: 1.通过request对象获取请求转发器对象:RequestDispatcher getRequestDispatcher(Strin ...
- Servlet课程0425(五) sendRedirect实现不同页面共享数据
Login.java //登录界面 package com.tsinghua; import javax.servlet.http.*; import java.io.*; public class ...
- Cookie&Seesion会话 共享数据 工作流程 持久化 Servlet三个作用域 会话机制
Day37 Cookie&Seesion会话 1.1.1 什么是cookie 当用户通过浏览器访问Web服务器时,服务器会给客户端发送一些信息,这些信息都保存在Cookie中.这样,当该浏览器 ...
- servlet自动获取前端页面提交数据
servlet自动获取前端页面jsp提交数据 以下是本人在学习过程中,因前端页面提交参数过多,后台servlet封装实体类过于麻烦而写的一个工具类,应用于jsp/servlet数据提交后,基于MVC+ ...
随机推荐
- 面向对象程序设计-C++_课时18内联函数
使用inline说明的函数称内联函数. 在C++中,除具有循环语句.switch语句的函数不能说明为内联函数外,其他函数都可以说明为内联函数. #include <iostream> us ...
- SRM 584 div2
早早地水完了三道题,pt1000用的是dfs,开始做的时候误认为复杂度最多就O(2^25),结果被一组O(2*3^16)的数据接近1e8给cha了.继续努力. pt250:求两个串的前缀组成的不同串数 ...
- TIMESTEN安装配置指南-中文版
TimesTen内存数据库 第一章 Cache Connect to Oracle概念 TimesTen数据交换技术提供在Oracle数据库和TimesTen数据管理器之间进行连接和双向数据传送.数据 ...
- linux创建文件树,孩子兄弟树(或广义表),创建文件树及其訪问
假设在Linux下要訪问一个目录. 我们须要知道一下系统调用. 1.opendir(path); //注意path是绝对路径 2.ptr=readdir(dir);//dir 为opendir();正 ...
- linux经常使用(一)linux 安装配置 jdk之 找不到安装文件文件夹及source /etc/profile 报unexpected end of file 错误 解决
linux 安装配置 jdk 应该算是一个非常主要的东西.可是我到如今才自己第一次 正式安装.果然出现了问题.. 问题就是 安装之后 找不到 安装路径 ,进而没法配置环境变量. 现象例如以下: 提示 ...
- Pro Android学习笔记(十一):了解Intent(中)
Intent的构成 Intent能够带有action,data(由URI表达),extra data(key/value map,键值对),指定的类名(成为component name).一个inte ...
- JavaScript中NODE操作学习总结
Node: 1.在 HTML DOM (文档对象模型)中,每个部分都是节点: 文档本身是文档节点 所有 HTML 元素是元素节点 所有 HTML 属性是属性节点 HTML ...
- SQL学习之计算字段的用法与解析
一.计算字段 1.存储在数据库表中的数据一般不是应用程序所需要的格式.大多数情况下,数据表中的数据都需要进行二次处理.下面举几个例子. (1).我们需要一个字段同时显示公司名和公司地址,但这两个信息存 ...
- Java中Lambda表达式的使用
简介(译者注:虽然看着很先进,其实Lambda表达式的本质只是一个"语法糖",由编译器推断并帮你转换包装为常规的代码,因此你可以使用更少的代码来实现同样的功能.本人建议不要乱用,因 ...
- JavaSE复习日记 : 接口
/* * 接口 * 引用数据类型: * 类,接口,数组; * * 接口是一种引用数据类型,可以看作是一个特殊的类,它存在的目的是为了解决没有多重继承引起的功能弱的问题而设计的,一个类只能有一个父类,但 ...