package com.jay.util;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Cookie工具类
*
* @author hetiewei
* @date 2016年7月26日 下午2:08:16
*
*/
public class CookieUtils {
/**
* 设置 Cookie(生成时间为1天)
* @param name 名称
* @param value 值
*/
public static void setCookie(HttpServletResponse response, String name, String value) {
setCookie(response, name, value, 60*60*24);
}
/**
* 设置 Cookie
* @param name 名称
* @param value 值
* @param maxAge 生存时间(单位秒)
* @param uri 路径
*/
public static void setCookie(HttpServletResponse response, String name, String value, String path) {
setCookie(response, name, value, path, 60*60*24);
}
/**
* 设置 Cookie
* @param name 名称
* @param value 值
* @param maxAge 生存时间(单位秒)
* @param uri 路径
*/
public static void setCookie(HttpServletResponse response, String name, String value, int maxAge) {
setCookie(response, name, value, "/", maxAge);
}
/**
* 设置 Cookie
* @param name 名称
* @param value 值
* @param maxAge 生存时间(单位秒)
* @param uri 路径
*/
public static void setCookie(HttpServletResponse response, String name, String value, String path, int maxAge) {
Cookie cookie = new Cookie(name, null);
cookie.setPath(path);
cookie.setMaxAge(maxAge);
try {
cookie.setValue(URLEncoder.encode(value, "utf-8"));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
response.addCookie(cookie);
}
/**
* 获得指定Cookie的值
* @param name 名称
* @return 值
*/
public static String getCookie(HttpServletRequest request, String name) {
return getCookie(request, null, name, false);
}
/**
* 获得指定Cookie的值,并删除。
* @param name 名称
* @return 值
*/
public static String getCookie(HttpServletRequest request, HttpServletResponse response, String name) {
return getCookie(request, response, name, true);
}
/**
* 获得指定Cookie的值
* @param request 请求对象
* @param response 响应对象
* @param name 名字
* @param isRemove 是否移除
* @return 值
*/
public static String getCookie(HttpServletRequest request, HttpServletResponse response, String name, boolean isRemove) {
String value = null;
Cookie[] cookies = request.getCookies();
if (cookies != null) {
for (Cookie cookie : cookies) {
if (cookie.getName().equals(name)) {
try {
value = URLDecoder.decode(cookie.getValue(), "utf-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
if (isRemove) {
cookie.setMaxAge(0);
response.addCookie(cookie);
}
}
}
}
return value;
}
/**
* 根据名字获取cookie(接口方法)
* @param request
* @param name cookie名字
* @return
*/
public static Cookie getCookieByName(HttpServletRequest request,String name){
Map<String,Cookie> cookieMap = ReadCookieMap(request);
if(cookieMap.containsKey(name)){
Cookie cookie = (Cookie)cookieMap.get(name);
return cookie;
}else{
return null;
}
}
/**
* 将cookie封装到Map里面(非接口方法)
* @param request
* @return
*/
private static Map<String,Cookie> ReadCookieMap(HttpServletRequest request){
Map<String,Cookie> cookieMap = new HashMap<String,Cookie>();
Cookie[] cookies = request.getCookies();
if(null!=cookies){
for(Cookie cookie : cookies){
cookieMap.put(cookie.getName(), cookie);
}
}
return cookieMap;
}
/**
*
* @desc 删除指定Cookie
* @param response
* @param cookie
* @param domain
*/
public static void removeCookie(HttpServletResponse response, Cookie cookie, String domain) {
if (cookie != null) {
cookie.setPath("/");
cookie.setValue("");
cookie.setMaxAge(0);
cookie.setDomain(domain);
response.addCookie(cookie);
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
STS创建Spring Boot项目实战(Rest接口、数据库、用户认证、分布式Token JWT、Redis操作、日志和统一异...
共45个文件
java:21个
properties:6个
prefs:4个
3星 · 超过75%的资源 需积分: 36 133 下载量 41 浏览量
2017-04-15
09:11:28
上传
评论 5
收藏 72KB RAR 举报
温馨提示
STS创建Spring Boot项目实战(Rest接口、数据库、用户认证、分布式Token JWT、Redis操作、日志和统一异常处理)
资源推荐
资源详情
资源评论
收起资源包目录
STS创建Spring Boot项目实战(Rest接口、数据库、用户认证、分布式Token JWT、Redis操作、日志和统一异常处理).rar (45个子文件)
demo1
.project 1KB
mvnw.cmd 5KB
mvnw 7KB
src
test
java
com
jay
Demo1ApplicationTests.java 323B
main
webapp
resources
application.properties 937B
config
jwt.properties 221B
templates
static
java
com
jay
properties
JwtInfo.java 965B
service
Demo1Application.java 669B
filter
JwtAuthorizeFilter.java 3KB
HttpBasicAuthorizeFilter.java 4KB
controller
UserController.java 3KB
JwtWebTokenController.java 4KB
RedisCaptchaController.java 4KB
HelloController.java 353B
dao
UserInfoRepository.java 543B
util
Md5SaltUtil.java 3KB
jwt
AccessToken.java 645B
JwtHelper.java 2KB
CookieUtils.java 4KB
config
Swagger2Config.java 2KB
RedisConfig.java 1KB
JwtConfig.java 867B
vo
LoginParam.java 993B
ResultMsg.java 883B
ResultStatusCode.java 854B
bean
UserInfo.java 1KB
target
classes
application.properties 937B
config
jwt.properties 221B
META-INF
MANIFEST.MF 326B
maven
com.jay
demo1
pom.properties 242B
pom.xml 3KB
test-classes
.settings
org.eclipse.wst.jsdt.ui.superType.container 49B
org.eclipse.wst.common.project.facet.core.xml 318B
org.eclipse.m2e.core.prefs 97B
org.eclipse.jdt.core.prefs 430B
org.eclipse.wst.validation.prefs 50B
org.eclipse.wst.jsdt.ui.superType.name 6B
org.eclipse.core.resources.prefs 272B
org.eclipse.wst.common.component 671B
.jsdtscope 639B
.mvn
wrapper
maven-wrapper.jar 48KB
maven-wrapper.properties 110B
pom.xml 3KB
.classpath 1KB
.gitignore 249B
共 45 条
- 1
资源评论
- Hermit_20092018-07-30节省一部分工作,有帮助,谢谢
- kingrobo2018-03-25根本打不开,乱码,浪费我的分
- Luke.Lee2017-10-01根本打不开,乱码,浪费我的分
- honeyzbn2019-02-16打不开,还我积分
- happymousesky2017-04-19根本打不开,乱码,浪费我的分
y806441427
- 粉丝: 7
- 资源: 33
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功