>>分享Java Web开发技术,并且对孙卫琴的《Tomcat与Java Web开发技术详解》提供技术支持 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 23256 个阅读者 刷新本主题
 * 贴子主题:  设置和获取Cookie 回复文章 点赞(0)  收藏  
作者:日月光华    发表时间:2020-06-02 08:28:55     消息  查看  搜索  好友  邮件  复制  引用

设置和获取Cookie

1、后端设置Cookie

@RequestMapping("/setcookie")
@ResponseBody
public String fun3(String jsonp, HttpServletResponse response) throws UnsupportedEncodingException {
    String name1 = "张三";
    name1 = URLEncoder.encode(name1, "utf-8"); // URL编码
    Cookie c1 = new Cookie("username1", name1);
    response.addCookie(c1);
    
    String name2 = "李四";
    Cookie c2 = new Cookie("username2", name2);
    response.addCookie(c2);
    
    if(jsonp != null && jsonp.length() > 0) { // jsonp请求
        return jsonp + "(" + "{\"name\":\"测试\",\"age\":10}" + ")";
    } else {
        return "{\"name\":\"测试\",\"age\":10}";
    }
}
点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小
2、后端获取Cookie

@RequestMapping("/getcookie")
@ResponseBody
public Object fun2(String jsonp, @CookieValue String username1,
        @CookieValue String username2, HttpServletRequest req) {
    // 通过注解@CookieValue获取cookie的值会自动进行URL解码
    System.out.println("username1: " + username1); // username1: 张三
    
    // cookie设置的时候没有进行URL编码
    System.out.println("username2: " + username2); // username2: 李四
    
    Cookie[] cookies = req.getCookies();
  if (cookies != null && cookies.length > 0) {
    for (Cookie c : cookies) {
         // username1: %E5%BC%A0%E4%B8%89
         // username2: 李四
         System.out.println(c.getName() + ": " + c.getValue());
    }
  }

    Map<String, Object> result = new HashMap<>();
    result.put("username1", username1);
    result.put("username2", username2);
    return result;
}


3、前端获取Cookie (使用jquery.cookie.js)

@RequestMapping("/page/{pageName}")
public String fun2(@PathVariable String pageName) {
    return "user/" + pageName;
}


<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript" src="../js/jquery-1.8.3.min.js"></script>
<script type="text/javascript" src="../js/jquery.cookie.js"></script>
</head>
<body>
    姓名1: <input id="username1" type="text" name="username1" value=""/>
    姓名2: <input id="username2" type="text" name="username2" value=""/>
</body>

<script type="text/javascript">
    var obj = $("#username1");
    alert($.cookie("username1"));
    obj.val($.cookie("username1"));
    
    var obj = $("#username2");
    alert($.cookie("username2"));
    obj.val($.cookie("username2"));
</script>
</html>


  前端使用jquery.cookie.js获取Cookie:
点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小
4、URL编码和解码

package com.oy;
import java.net.URLDecoder;
import java.net.URLEncoder;
import java.util.UUID;
import org.junit.Test;

public class Demo {
    @Test
    public void demo1() throws Exception {
        String name = "张三123abc";
        String s = URLEncoder.encode(name, "utf-8"); // URL编码
        System.out.println(s); // %E5%BC%A0%E4%B8%89123abc

        s = URLDecoder.decode(s, "utf-8"); // URL解码
        System.out.println(s); // 张三123abc
    }
}


5、jquery.cookie.js插件的使用

  (1)js中如何往cookie中放值和取值
  (2)jquery.cookie.js——jquery的cookie插件

6、js-cookie

  1)https://blog.csdn.net/sleepwalker_1992/article/details/86100967

7、JavaScript Cookie

  1)https://blog.csdn.net/sleepwalker_1992/article/details/85787099


程序猿的技术大观园:www.javathinker.net
  Java面向对象编程-->多线程(下)
  JavaWeb开发-->使用过滤器
  JSP与Hibernate开发-->Spring、JPA与Hibernate的整合
  Java网络编程-->基于UDP的数据报和套接字
  精通Spring-->计算属性和数据监听
  Vue3开发-->通过Axios访问服务器
  HTTP请求方式:GET 对比 POST
  HTTP 响应头信息
  JSP 异常处理
  JSP 标准标签库(JSTL) 概览
  JSP 发送邮件
  编写Servlet过滤器
  Java Web 开发必须掌握的三个技术:Token、Cookie、Session
  Linux中为Tomcat9配置HTTP/2
  Servlet的高级运用技巧:备注、模块化、异步处理、优化文件上...
  在Tomcat9中配置HTTP/2
  开发Web服务的几种框架的对比:XFire和Axis2
  JavaWeb面试题总结
  在web应用中使用数据库连接池
  Java Servlet完全教程
  OpenBSD下tomcat安装卸载须知
  更多...
 IPIP: 已设置保密
楼主      
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


中文版权所有: JavaThinker技术网站 Copyright 2016-2026 沪ICP备16029593号-2
荟萃Java程序员智慧的结晶,分享交流Java前沿技术。  联系我们
如有技术文章涉及侵权,请与本站管理员联系。