1.servlet的会话机制cookie
会话:用户开浏览器访问某个网站,只要不关闭浏览器,不管该用户点击多少个超链接,访问多少资源,直到用户关闭浏览器,整个过程称为一次会话
cookie会话:
1.记录用户上次登录的时间
2.浏览商品的历史
3.保存用户名和密码
cookie的创建
//createcookie.java
//创建cookie(api)
Cookie cookie=new Cookie("name","cookietest");
//设置cookie的生命周期
cookie.setMaxAge(3600);
//把cookie信息写回给浏览器
response.addCookie(cookie);
cookie的读取
//readcookie.java
//读取所有cookie信息
Cookie cookies[]=request.getCookies();
//遍历cookie
for(int i=0;i<cookies.length;i++){
Cookie cookie=cookies[i];
out.println("cookie 名字= "+cookie.getName());//cookie只能放字符串 }
案例:登录显示上次登录的时间
//获得cookie记录上次登录时间
private String getLasttime(HttpServletRequest request,
HttpServletResponse response) {
//先获取cookie
//保存上次登陆时间的cookie “2012-11-13 12:36:22”
Cookie []cookies=request.getCookies();
// 首次登录
boolean b=false;
String returnName="";
//获取时间,用于更新cookie
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("YYYY-MM-DD HH:mm:ss");
String nowTime=simpleDateFormat.format(new java.util.Date());
//遍历cookie找到需要的值
if(cookies!=null)
{
for(Cookie cookie:cookies)
{
//取名字
String name=cookie.getName();
if("lasttime".equals(name))
{
returnName=cookie.getValue();
//更新cookie 的时间
Cookie mycookie = new Cookie("lasttime",nowTime);
mycookie.setMaxAge(7*24*3600);//保存一周
response.addCookie(mycookie);
b=true;
break;
} }
}
if(!b)//第一次登陆的设置
{
Cookie mycookie=new Cookie("lasttime",nowTime);
mycookie.setMaxAge(7*24*3600);
response.addCookie(mycookie);
returnName=null;
}
return returnName;
}
保存用户的名字的案例:
登录界面
String username="";
Cookie cookies[]=request.getCookies();
if(cookies!=null){
for(Cookie cookie:cookies){
if(cookie.getName().equals("username")){
username=cookie.getValue();
}
}
}
out.println("用户名:<input type='text' name='username' value='"+username+"'/><br/>");
out.println("密 码:<input type='password' name='password'/><br/>");
out.println("<input type='checkbox' name='iskeepinfo' value='keep'/>在此电脑上保存用户名<br/>");
提交后台的servlet
String val=request.getParameter("iskeepinfo");
if(val!=null&&val.equals("keep")){
//保存
//创建cookie并保存登录用户的机器上
Cookie cookie=new Cookie("username",username);
cookie.setMaxAge(7*2*24*3600);
//会写
response.addCookie(cookie);
}
String val=java.net.URLEncoder.encode("顺平","utf-8");
Cookie cookie=new Cookie("name",val);
取出
String val=java.net.URLDecoder.decode("cookie.getValue()","utf-8");
out.println("name="+val);
1.servlet的会话机制cookie的更多相关文章
- Django之会话机制cookie、session使用
login视图函数: def login(request): if request.method == 'POST': username = request.POST.get('username') ...
- 一,PHP会话机制---cookie
1, 什么是会话 会话可简单理解为:用户打开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话. 2, cookie技术 cookie(小甜饼)是客户端技 ...
- Servlet的会话机制?
因为http协议是无状态协议,又称为一次性连接,所以webapp必须有一种机制 能够记住用户的一系列操作,并且唯一标示一个用户. Cookie: 又称为小饼干,实际就是使用一个短文本保存用户信息, 在 ...
- 2.servlet的会话机制session
session的说明: 1.session是服务端技术,存放在服务器 2.一个用户浏览器对应一个session域对象,一对一的对应关系 3.session的默认生命周期是30min,可以通过web.x ...
- Servlet基础知识(三)—— 会话机制Session,Session和Cookie的异同
Servlet会话机制: Http是一种无状态协议,它是无记忆的.也就是说,服务器不会保存用户的任何信息,当同一用户再次去访问时,服务器是不认识你的,它还是会建立新的连接. 但有时候我们需要服务器保留 ...
- Cookie&Seesion会话 共享数据 工作流程 持久化 Servlet三个作用域 会话机制
Day37 Cookie&Seesion会话 1.1.1 什么是cookie 当用户通过浏览器访问Web服务器时,服务器会给客户端发送一些信息,这些信息都保存在Cookie中.这样,当该浏览器 ...
- Java Web(三) 会话机制,Cookie和Session详解
很大一部分应该知道什么是会话机制,也能说的出几句,我也大概了解一点,但是学了之后几天不用,立马忘的一干二净,原因可能是没能好好理解这两种会话机制,所以会一直遗忘,一直重新回过头来学习它,今天好好把他总 ...
- Java Web(三) 会话机制,Cookie和Session详解(转载)
https://www.cnblogs.com/whgk/p/6422391.html 很大一部分应该知道什么是会话机制,也能说的出几句,我也大概了解一点,但是学了之后几天不用,立马忘的一干二净,原因 ...
- web开发(三) 会话机制,Cookie和Session详解
在网上看见一篇不错的文章,写的详细. 以下内容引用那篇博文.转载于<http://www.cnblogs.com/whgk/p/6422391.html>,在此仅供学习参考之用. 一.会话 ...
随机推荐
- maven2打包不同jdk版本的包
通常在一些特别情况下,我们需要为单独某一个构件打包多个不同jdk版本的包,用来支持不同的jdk,基于maven我们就可以很方便的做到这点. 1.在项目的pom文件中加入如下配置 <project ...
- 一起学HTML基础-CSS样式表常用样式属性
样式属性 背景与前景: background-color:#F90; /*背景颜色,样式表优先级最高*/ background-image:url(路径); /*设置背景图片(默认)*/ backgr ...
- 【转】在mac上配置安卓SDK
众所周知的原因,google的很多网站在国内无法访问,苦逼了一堆天朝程序员,下是在mac本上折腾android 开发环境的过程: 一.先下载android sdk for mac 给二个靠谱的网址: ...
- 58. Android一些开发习惯总结
作者:漫步 链接:https://www.zhihu.com/question/27227425/answer/35973793 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业转载请 ...
- javaBean和Servlet有什么区别
1.javabean无非就是里面有些set和get方法 2.servlet用来处理一些逻辑层 3.javabean.servlet.jsp分别对应M(odel).C(ontroller).V(iew) ...
- Akka: actor应用的一些小结
1.消息: 1) case class是scala中一个不可变对象(当然你可以让他成为可变的),通过不可变对象来进行消息传递可以更加明确内容,也能保证线程安全 2) 在Java中如果你将class对象 ...
- 基本概率分布Basic Concept of Probability Distributions 1: Binomial Distribution
PDF下载链接 PMF If the random variable $X$ follows the binomial distribution with parameters $n$ and $p$ ...
- Newton-Raphson算法简介及其R实现
本文简要介绍了Newton-Raphson方法及其R语言实现并给出几道练习题供参考使用. 下载PDF格式文档(Academia.edu) Newton-Raphson Method Let $f(x) ...
- Distance Between Points
I need some help. I have to create a function that will calculate the distance between points (x1,y1 ...
- 【Beta】第二次任务发布
后端 了解社区新建文章.添加评论(回复)的机制.整理成API文档,包括如何请求新建文章.新建评论(回复).如何获取文章内容和评论内容. 验收条件:文档PM要能看懂. 前端 微调数据输入部分的布局和操作 ...