JavaWeb -cookie&session&application
cookie&session&application总结
Cookie【key-value】(不是内置对象必须new):
1. Cookie 是由服务端生成的,在发送给客户端保存
2. 作用:提高访问效率,但安全性较差
*服务端 自动new生成一个cookie(name为JSESSIONID的)
3. 常用方法
Cookie(String name,String value) 构造方法需new
String getName() 得到name
String getValue() 得到value
setMaxAge(int time) 最大有效期(秒)
4. 代码示例(实现记住用户名功能)
登陆界面
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Insert title here</title>
</head>
<body>
<%!
String uname;
%>
<%
//用作保留用户名
Cookie[] cookies=request.getCookies();
for(Cookie cookie : cookies){
if(cookie.getName().equals("uname")){
uname=cookie.getValue();
}
}
%>
<form action="check.jsp" method="post">
用户名:<input type="text" name="uname" value="<%=(uname==null?"":uname)%>"><br/>
密码: <input type="password" name="upwd"/><br/>
<input type="submit" value="登陆"><br/>
</form>
</body>
</html>
将登入的cookie返回
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Insert title here</title>
</head>
<body> <%
request.setCharacterEncoding("utf-8");
String name=request.getParameter("uname");
String pwd=request.getParameter("upwd");
//将用户名 加入cookies中
Cookie cookie=new Cookie("uname",name);
//设置该cookie最大有效期10s
cookie.setMaxAge(10);
response.addCookie(cookie); //实现了一次跳转,目的将cookie转回客户端
//response.sendRedirect("A.jsp");
%>
</body>
</html>
session(内置对象)
1. session机制:
一、客户端第一次请求服务端时:
服务端会产生一个session对象(用于保存该客户的信息)
并且每个session对象都有一个唯一的sessionID(用于区分其他session)
服务端又会产生一个cookie,并且 将该cookie发送给客户端 因此客户端的cookie中JSESSIONID会与服务端的sessionid一一对应
二、客户端之后请求服务端时:
服务端会先用客户端的cookie中的JSESSIONID去服务端的session中匹配sessionid 如果匹配成功则无需登录
2. session要点:
1. 存储在服务端
2. 在同一个用户请求时 共享
3. session常用方法:
getId(); //获取sessionid
isNew(); //判断用户是否为新用户(第一次登陆)
invalidate(); //使session失效 (退出登陆、注销)
setAttribute();
getAttribute();
setMaxInactiveInterval(int time) //设置最大有效 非活动时间(登陆京东 一段时间不动 则会要求重新登陆)
getMaxInactiveInterval() //得到最大有效 非活动时间
cookie&session的区别

补充:
html中的超链接:<a href="跳转的jsp">name</a>
跳转的jsp中:session.invalidate(); 实现注销-删除session所有信息
application(内置对象)
方法:
1. application.getContextPath() 获取当前项目的虚拟路径
2. application.getRealPath() 获取当前项目的绝对路径
JavaWeb -cookie&session&application的更多相关文章
- Servlet学习笔记(1)--第一个servlet&&三种状态对象(cookie,session,application)&&Servlet的生命周期
servlet的404错误困扰了两天,各种方法都试过了,翻书逛论坛终于把问题解决了,写此博客来纪念自己的第一个servlet经历. 下面我会将自己的编写第一个servlet的详细过程提供给初学者,大神 ...
- c# Cookie,Session,Application,Cache 四种缓存使用情景
好记性不如烂笔头,记录一下C#缓存使用的情景模式....个人理解,不正之处,欢迎指正 讨论 Cookie,Session,Application,Cache 四种,有的缓存情景对人,有的缓存情景对事儿 ...
- JavaWeb——Cookie,Session学习汇总
什么是Cookie Cookie的作用 安全性能 Cookie的语法 Cookie注意细节 Cookie实例练习 什么是会话Session Session语法 Session与浏览器窗口的关系 ses ...
- JavaWeb Cookie,Session
Cookie 1.Cookie翻译过来是饼干的意思.Cookie是服务器通知客户端保存键值对的一种技术.客户端有了Cookie 后,每次请求都发送给服务器.每个Cookie的大小不能超过4kb. 2. ...
- JavaWeb:Cookie处理和Session跟踪
JavaWeb:Cookie处理和Session跟踪 Cookie处理 什么是Cookie Cookie 是存储在客户端计算机上的文本文件,保留了各种跟踪信息.因为HTTP协议是无状态的,即服务器不知 ...
- JavaWeb -pageContext/request/session/application
pageContext/request/session/application总结 一.范围差异 1. pageContext jsp页面容器 当前页面有效 2. request 请求对象 同一次请求 ...
- JavaWeb基于session和cookie的数据共享
在了解session和cookie技术之前,我们需要先了解一下什么是会话?会话可以简单理解为用户打开一个浏览器,点击多个超链接,访问服务器的多个web资源,然后关闭浏览器,整个过程称为一个会话.这样, ...
- 【JavaWeb】Cookie&Session
Cookie&Session Cookie 什么是 Cookie Cookie 即饼干的意思 Cookie 是服务器通知客户端保存键值对的一种技术 客户端有了 Cookie 后,每次请求都发送 ...
- JavaWeb请求与响应 Cookie&Session
1.请求与响应 &Cookie&Session 1.1.请求与响应 HTTP协议 概念:英文全称:HyperText Transfer Protocol 中文全称:超文本传输协议 ...
随机推荐
- Git----远程仓库01
到目前为止,我们已经掌握了如何在Git仓库里对一个文件进行时光穿梭,你再也不用担心文件备份或者丢失的问题了 可是用过集中式版本控制系统SVN的童鞋们会站出来说,这些功能在SVN里早就有了,没看出Git ...
- (4)activiti工作流引擎之uel表达式
有了前面几章,我们肯定有一定的困惑,activiti如何与实际业务整合,比如一条采购单,如何跟一个流程实例互相关联起来? 这里就需要使用到activiti启动流程实例时设置一个流程实例的busines ...
- Maven编译并打包Mahout CDH版源码
目录 1. 问题描述 最近在使用Mahout里的推荐算法进行实验,由于业务需求,需要修改Mahout源码,将原本输出到HDFS上的结果输出到HBase中.由于Mahout发布的源码都是Maven项目, ...
- Linux CentOS修改网卡IP/网关设置
1. 修改对应网卡IP的配置文件 修改以下内容 2. 修改对应网卡的网关的配置文件 vi /etc/sysconfig/network 修改以下内容 3. CentOS 修改DNS 修改以下内容 4. ...
- java对象转json对象
org.java类 public class orgs { private String id; private String name; public String getId() { return ...
- ubuntu ibus&language 启动失败
[ubuntu ibus&language 启动失败] 版本:ubuntu 10.04 现像:language support & ibus 无法启动,导致无法使用中文输入法 原因:l ...
- mybatis框架中的输入映射
mybatis.xml映射文件中定义了操作数据库的sql,每个sql是一个statement,映射文件是mybatis的核心. 输入类型: 1.传递简单类型 可以参考我之前的对于数据库增删改查的博文. ...
- jquery记录
jquery validate验证框架 参考:http://www.cnblogs.com/linjiqin/p/3431835.html http://www.runoob.com/jquery/j ...
- Golang template和junit xml report转html工具
最近刚好有个task是要用Golang把Junit的XML格式report转换成HTML格式,便学习了Golang的template包. 基于template做的那个junit XML转HTML工具. ...
- RocketMQ:Cannot allocate memory
使用Storm本地模式消费RocketMQ数据的时候, 消费一点数据之后,就会出现如下错误: Java HotSpot(TM) 64-Bit Server VM warning: INFO: os:: ...