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相关推荐

  1. Web页面或app等前端页面之Java Web的JSP、Servlet、Cookie、Session等技术小结

    Java Web学习,掌握JSP.Servlet.Cookie.Session等内容,使用JSTL进行数据展示完成实际应用. 2.3.1 XML基础 XML的用途.语法规则.语义约束.如何解析XML, ...

  2. Servlet的Cookie和Session机制

    Servlet Cookies Cookies定义:Cookies是存储在客户端计算机上的文本文件,并保留了用户的各种跟踪信息. Cookies作用:会话保持,如完成用户的登录与状态保持 Cookie ...

  3. JavaWeb之Servlet:Cookie 和 Session

    会话 现实生活中我们会用手机跟对方对话,拿起手机,拨号,然后对面接听,跟着互相通话,最后会话结束. 这个过程也可以用我们的B/S模式来描述: 打开浏览器->输入地址->发出请求->服 ...

  4. Servlet之Cookie和Session

    会话技术 在了解cookie和session之前,需要先了解一个概念:会话 1. 概念 在日常生活中,从拨通电话到挂断电话之间的一连串的你问我答的过程就是一个会话.web应用中的会话过程类似于生活中的 ...

  5. 动手学servlet(六) 过滤器和监听器

     过滤器(Filter) 过滤器是在客户端和请求资源之间,起一个过滤的作用,举个例子,比如我们要请求admin文件夹下的index.jsp这个页面,那么我们可以用一个过滤器,判断登录用户是不是管理员 ...

  6. 几个实用的Servlet应用例子-入门、cookie、session及上传文件

      1Servlet可以被认为是服务端的applet,它被WEB服务器加载和执行,前端可以显示页面和获得页面数据,后台可以操纵数据库,能完成JavaBean的很多功能.在这里我较为详细的说说Servl ...

  7. Flask的会话技术:cookie、session以及session持久化问题

    文章目录 一.会话技术 1.介绍 2.详细过程 二.Cookie 1.Cookie介绍 2.Cookie登陆使用 三.Session 1.Session介绍 2.Session登陆使用 3.Sessi ...

  8. 小白学Django第九天| Cookie和session的那些骚操作

    点击上方"JAVAandPython君",选择"星标"公众号 重磅干货,第一时间送达 小白学Django系列: 小白学Django第一天| MVC.MVT以及D ...

  9. Servlet学习DAY_02:重定向/ 文件上传/ Cookie和Session/ 导入一个工程 / 配置欢迎页面 / 同步请求和异步请求/JSON和AJax介绍 /过滤器

    重定向 重定向是服务器告诉客户端往指定的路径再次发出请求的指令 执行过程: 当服务器执行重定向方法时会给客户端返回302状态码和一个请求路径,浏览器接收到302后会立即往指定的路径再次发出请求 res ...

最新文章

  1. COZMO机器人的部分表情说明
  2. matlab中antoine方程应用,五参数antoine方程
  3. python界面设置-Python进入后台界面(admin)设定
  4. Windows下Memcache的安装及PHP扩展配置方法
  5. 训练 yolo 模型
  6. C语言指针与强制类型转换
  7. 算法导论系列:分治算法
  8. [html] html5的video如何附带字幕?
  9. LCN分布式事务框架实战
  10. Java 读取txt文件,读取结果保存到数据库
  11. 100个最佳Linux站点
  12. 终于解决华硕电脑触摸板的关闭问题
  13. std::deque的使用
  14. 小程序 背景图 repeat_小魔女诺贝3D射击/中文 | 电脑游戏
  15. 李一男2003年在港湾给开发人员培训时的语录
  16. Windows下文本文件编码转换
  17. java 新词发现,Java新词发现算法码源之使用
  18. k-means均值聚类
  19. 苹果mac电脑查看已连接到的wifi密码
  20. python提取微信聊天语音_利用Python进行微信,QQ的语音识别!内部技术的延伸版!...

热门文章

  1. 部品se分析_汽车储物箱部品模具,二色产品模具专业厂
  2. WordPress在前台文章页添加后台编辑该文章按钮
  3. 远程WEB控制MP3播放器设计(基于mini2440)
  4. Exynos4412 中断驱动开发(一)—— 中断基础及中断的注册过程
  5. Linux 系统应用编程——进程间通信(上)
  6. gcc工具链查看默认编译选项
  7. [react-router] React-Router怎么设置重定向?
  8. 前端学习(3237):react生命周期4
  9. 前端学习(2579):组件库使用
  10. 工作65:element三级文档多选