动手学servlet(四) cookie和session
Cookie
cookie是保存在客户端的一个“键值对”,用来存储用户的一些信息
cookie的应用:
-在电子商务会话中标识用户
-对网站进行定制,比如你经常浏览哪些内容,就展示哪些页面给你
-网站广告,比如百度联盟,你搜索了什么关键字,在各个网站就可以看到那个关键字的广告
创建cookie
package servletdemo;import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;/*** Servlet implementation class TestCookie*/ @WebServlet("/TestCookie") public class TestCookie extends HttpServlet {private static final long serialVersionUID = 1L;/*** @see HttpServlet#HttpServlet()*/public TestCookie() {super();// TODO Auto-generated constructor stub }/*** @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)*/protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stub//构造函数第一个参数是key,第二个是valueCookie c=new Cookie("name", "henry"); //设置时间,最低级是秒,此处就是60秒乘以60,也就是一个小时c.setMaxAge(60*60);//将创建的cookie添加到客户端 response.addCookie(c);}/*** @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)*/protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stub doGet(request, response);}}
代码
获取cookie
package servletdemo;import java.io.IOException; import java.util.Iterator;import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;/*** Servlet implementation class TestGetCookie*/ @WebServlet("/TestGetCookie") public class TestGetCookie extends HttpServlet {private static final long serialVersionUID = 1L;/*** @see HttpServlet#HttpServlet()*/public TestGetCookie() {super();// TODO Auto-generated constructor stub }/*** @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)*/protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stubCookie [] cookies=request.getCookies();if(cookies!=null){for(Cookie c:cookies){String name=c.getName();String value=c.getValue();System.out.println(name+":"+value);}}}/*** @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)*/protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stub doGet(request, response);}}
代码
运行结果
Session
HTTP协议是无状态的,那么我们如何将对象数据持久化的保存呢,java有两个解决办法,一个是cookie,一个就是session,它是用来跟踪用户状态的一种机制,是针对浏览器和服务器的一对一关系
Session接口HttpSession,通常我们会使用它,接口的实现由WEB容器来完成
-可以从HttpServletRequest中获取HttpSession,request.getSession();返回一个HttpSession接口
-将信息保存在HttpSession中,session.setAttribute("usersession",obj);
-从HttpSession中获得信息,session.getAttribute("usersession");
-使session失效,session.invalidate();
创建session
package servletdemo;import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession;/*** Servlet implementation class SetSession*/ @WebServlet("/SetSession") public class SetSession extends HttpServlet {private static final long serialVersionUID = 1L;/*** @see HttpServlet#HttpServlet()*/public SetSession() {super();// TODO Auto-generated constructor stub }/*** @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)*/protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stubHttpSession session=request.getSession();session.setAttribute("session_name", "session_value");}/*** @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)*/protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stub doGet(request, response);}}
代码
获得session
package servletdemo;import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession;/*** Servlet implementation class GetSession*/ @WebServlet("/GetSession") public class GetSession extends HttpServlet {private static final long serialVersionUID = 1L;/*** @see HttpServlet#HttpServlet()*/public GetSession() {super();// TODO Auto-generated constructor stub }/*** @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)*/protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stubHttpSession session=request.getSession();String value=(String)session.getAttribute("session_name");System.out.println("value:"+value);}/*** @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)*/protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stub doGet(request, response);}}
代码
转载于:https://www.cnblogs.com/SamFlynn/p/4480202.html
动手学servlet(四) cookie和session相关推荐
- Web页面或app等前端页面之Java Web的JSP、Servlet、Cookie、Session等技术小结
Java Web学习,掌握JSP.Servlet.Cookie.Session等内容,使用JSTL进行数据展示完成实际应用. 2.3.1 XML基础 XML的用途.语法规则.语义约束.如何解析XML, ...
- Servlet的Cookie和Session机制
Servlet Cookies Cookies定义:Cookies是存储在客户端计算机上的文本文件,并保留了用户的各种跟踪信息. Cookies作用:会话保持,如完成用户的登录与状态保持 Cookie ...
- JavaWeb之Servlet:Cookie 和 Session
会话 现实生活中我们会用手机跟对方对话,拿起手机,拨号,然后对面接听,跟着互相通话,最后会话结束. 这个过程也可以用我们的B/S模式来描述: 打开浏览器->输入地址->发出请求->服 ...
- Servlet之Cookie和Session
会话技术 在了解cookie和session之前,需要先了解一个概念:会话 1. 概念 在日常生活中,从拨通电话到挂断电话之间的一连串的你问我答的过程就是一个会话.web应用中的会话过程类似于生活中的 ...
- 动手学servlet(六) 过滤器和监听器
过滤器(Filter) 过滤器是在客户端和请求资源之间,起一个过滤的作用,举个例子,比如我们要请求admin文件夹下的index.jsp这个页面,那么我们可以用一个过滤器,判断登录用户是不是管理员 ...
- 几个实用的Servlet应用例子-入门、cookie、session及上传文件
1Servlet可以被认为是服务端的applet,它被WEB服务器加载和执行,前端可以显示页面和获得页面数据,后台可以操纵数据库,能完成JavaBean的很多功能.在这里我较为详细的说说Servl ...
- Flask的会话技术:cookie、session以及session持久化问题
文章目录 一.会话技术 1.介绍 2.详细过程 二.Cookie 1.Cookie介绍 2.Cookie登陆使用 三.Session 1.Session介绍 2.Session登陆使用 3.Sessi ...
- 小白学Django第九天| Cookie和session的那些骚操作
点击上方"JAVAandPython君",选择"星标"公众号 重磅干货,第一时间送达 小白学Django系列: 小白学Django第一天| MVC.MVT以及D ...
- Servlet学习DAY_02:重定向/ 文件上传/ Cookie和Session/ 导入一个工程 / 配置欢迎页面 / 同步请求和异步请求/JSON和AJax介绍 /过滤器
重定向 重定向是服务器告诉客户端往指定的路径再次发出请求的指令 执行过程: 当服务器执行重定向方法时会给客户端返回302状态码和一个请求路径,浏览器接收到302后会立即往指定的路径再次发出请求 res ...
最新文章
- COZMO机器人的部分表情说明
- matlab中antoine方程应用,五参数antoine方程
- python界面设置-Python进入后台界面(admin)设定
- Windows下Memcache的安装及PHP扩展配置方法
- 训练 yolo 模型
- C语言指针与强制类型转换
- 算法导论系列:分治算法
- [html] html5的video如何附带字幕?
- LCN分布式事务框架实战
- Java 读取txt文件,读取结果保存到数据库
- 100个最佳Linux站点
- 终于解决华硕电脑触摸板的关闭问题
- std::deque的使用
- 小程序 背景图 repeat_小魔女诺贝3D射击/中文 | 电脑游戏
- 李一男2003年在港湾给开发人员培训时的语录
- Windows下文本文件编码转换
- java 新词发现,Java新词发现算法码源之使用
- k-means均值聚类
- 苹果mac电脑查看已连接到的wifi密码
- python提取微信聊天语音_利用Python进行微信,QQ的语音识别!内部技术的延伸版!...