servlet Cookie使用方法详解(六)

 更新时间:2017年09月30日 16:04:41   作者:柳暗花明睡一觉  
这篇文章主要为大家详细介绍了servlet Cookie的使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了servlet Cookie的使用方法,供大家参考,具体内容如下

1.cookie介绍

  Cookie,指某些网站为了辨别用户身份、进行 session 跟踪而储存在用户本地终端上的数据(通常经过加密)。(可以叫做浏览器缓存)

2.cookie案例

servlet 源码

package com.learn;

import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

/**
 * 
 */
public class CookieServlet extends HttpServlet {

 @Override
 protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
  //cookie引用
  Cookie cookie = null;
  //设置返回类型为文本类型
  resp.setContentType("text/plain");
  //获取输出对象
  PrintWriter out = resp.getWriter();

  //从请求参数中获取cookies
  Cookie[] cookies = req.getCookies();
  if(cookies != null){
   for (int i = 0; i < cookies.length ; i++) {
    out.println("name:"+cookies[i].getName());
    out.println("value:"+cookies[i].getValue());
    //如果cookie值为user,则赋值给cookie
    if(cookies[i].getName().equals("user")){
     cookie = cookies[i];
    }
   }

  } else {
   out.print("no cookie");
  }

  if(cookie == null){
   cookie = new Cookie("user","tom");
   //设置cookie最大值为60分钟
   cookie.setMaxAge(60*60);
   resp.addCookie(cookie);
  } else if(cookie.getValue().equals("tom")){
   cookie.setValue("jack");
   resp.addCookie(cookie);
  } else if(cookie.getValue().equals("jack")){
   cookie.setMaxAge(0);
   resp.addCookie(cookie);
  }

  out.close();
 }

 @Override
 protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
  super.doPost(req, resp);
 }
}

web,xml 配置

<servlet>
  <servlet-name>cookie</servlet-name>
  <servlet-class>com.learn.CookieServlet</servlet-class>
 </servlet>
 <servlet-mapping>
  <servlet-name>cookie</servlet-name>
  <url-pattern>/cookie</url-pattern>
</servlet-mapping>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • apollo与springboot集成实现动态刷新配置的教程详解

    apollo与springboot集成实现动态刷新配置的教程详解

    这篇文章主要介绍了apollo与springboot集成实现动态刷新配置,本文分步骤给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-06-06
  • spring使用OXM进行对象XML映射解析

    spring使用OXM进行对象XML映射解析

    这篇文章主要介绍了spring使用OXM进行对象XML映射解析,具有一定借鉴价值,需要的朋友可以参考下
    2017-12-12
  • 详解JAVA设计模式之代理模式

    详解JAVA设计模式之代理模式

    这篇文章主要介绍了JAVA设计模式之代理模式的的相关资料,文中代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-06-06
  • Java中Mybatis分页查询的四种传参方式

    Java中Mybatis分页查询的四种传参方式

    这篇文章主要介绍了Java中Mybatis分页查询的四种传参方式:顺序传参,@param传参,自定义POJO类传参,Map传参,想详细了解传参方式的小伙伴可以详细阅读本文,有一定的而参考价值
    2023-03-03
  • Java synchronized底层的实现原理

    Java synchronized底层的实现原理

    这篇文章主要介绍了Java synchronized底层的实现原理,文章基于Java来介绍 synchronized 是如何运行的,内容详细具有一定的参考价值,需要的小伙伴可以参考一下
    2022-05-05
  • IDEA中的clean,清除项目缓存图文教程

    IDEA中的clean,清除项目缓存图文教程

    这篇文章主要介绍了IDEA中的clean,清除项目缓存图文教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09
  • Json转list二层解析转换代码实例

    Json转list二层解析转换代码实例

    这篇文章主要介绍了Json转list二层解析转换代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-12-12
  • idea远程调试spark的步骤讲解

    idea远程调试spark的步骤讲解

    今天小编就为大家分享一篇关于idea远程调试spark的步骤讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • 最新JVM垃圾回收算法详解

    最新JVM垃圾回收算法详解

    ​ 垃圾收集器对堆进行回收前,首先要确定堆中的对象哪些还"存活",哪些已经"死去"。有两种算法,分别是引用计数算法(Recference Counting)和可达性分析算法(Reachability Analysis),这篇文章主要介绍了JVM垃圾回收算法,需要的朋友可以参考下
    2022-05-05
  • 线程阻塞唤醒工具 LockSupport使用详解

    线程阻塞唤醒工具 LockSupport使用详解

    这篇文章主要为大家介绍了线程阻塞唤醒工具LockSupport使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-01-01

最新评论