Commit bb594c92 authored by yanzg's avatar yanzg

异常处理显示

parent 08a1a844
...@@ -25,6 +25,10 @@ public class CookiesHelper { ...@@ -25,6 +25,10 @@ public class CookiesHelper {
* 单个Cookies最大长度 * 单个Cookies最大长度
*/ */
public static final int ITEM_MAX_SIZE = 1000; public static final int ITEM_MAX_SIZE = 1000;
/**
* 默认最大有效期
*/
public static final int DEFAULT_MAX_AGE = 3 * 24 * 60 * 60;
/** /**
* 编码方式 * 编码方式
*/ */
...@@ -44,10 +48,12 @@ public class CookiesHelper { ...@@ -44,10 +48,12 @@ public class CookiesHelper {
* 读取缓存Cookies * 读取缓存Cookies
* *
* @param key 键值 * @param key 键值
* @param remove 读取后是否删除
* @return 缓存的键值 * @return 缓存的键值
*/ */
public static String get(String key) throws UnsupportedEncodingException { public static String get(String key, boolean remove) throws UnsupportedEncodingException {
HttpServletRequest request = getRequest(); HttpServletRequest request = getRequest();
HttpServletResponse response = getResposne();
if (request.getCookies() == null) { if (request.getCookies() == null) {
return StringHelper.EMPTY; return StringHelper.EMPTY;
} }
...@@ -57,6 +63,7 @@ public class CookiesHelper { ...@@ -57,6 +63,7 @@ public class CookiesHelper {
// 遍历cookies找到对应的Cookies // 遍历cookies找到对应的Cookies
for (Cookie item : request.getCookies()) { for (Cookie item : request.getCookies()) {
if (item.getName().equals(key)) { if (item.getName().equals(key)) {
removeCookie(response, item.getName());
if (StringHelper.isNumber(item.getValue())) { if (StringHelper.isNumber(item.getValue())) {
keyLength = StringHelper.toInt(item.getValue()); keyLength = StringHelper.toInt(item.getValue());
continue; continue;
...@@ -64,6 +71,7 @@ public class CookiesHelper { ...@@ -64,6 +71,7 @@ public class CookiesHelper {
return URLDecoder.decode(item.getValue(), CHARSET); return URLDecoder.decode(item.getValue(), CHARSET);
} }
} else if (item.getName().startsWith(key)) { } else if (item.getName().startsWith(key)) {
removeCookie(response, item.getName());
map.put(key, item.getValue()); map.put(key, item.getValue());
} }
} }
...@@ -106,17 +114,41 @@ public class CookiesHelper { ...@@ -106,17 +114,41 @@ public class CookiesHelper {
} }
} }
/**
* 删除Cookie对象
*
* @param response 输出流
* @param key 键值
*/
private static void removeCookie(HttpServletResponse response, String key) {
addCookie(response, key, StringHelper.EMPTY, 0);
}
/** /**
* 添加Cookies缓存 * 添加Cookies缓存
* *
* @param response 输出对象
* @param key 键 * @param key 键
* @param value 值 * @param value 值
*/ */
private static void addCookie(HttpServletResponse response, String key, String value) { private static void addCookie(HttpServletResponse response, String key, String value) {
addCookie(response, key, value, DEFAULT_MAX_AGE);
}
/**
* 添加Cookies缓存
*
* @param response 输出对象
* @param key 键
* @param value 值
* @param maxAge 最大有效期
*/
private static void addCookie(HttpServletResponse response, String key, String value, int maxAge) {
// 创建cookie对象 // 创建cookie对象
Cookie cookie = new Cookie(key, value); Cookie cookie = new Cookie(key, value);
// 设置根目录生效 // 设置根目录生效
cookie.setPath("/"); cookie.setPath("/");
cookie.setMaxAge(maxAge);
// 服务器把cookie响应给客户端,所有的cookie对象,都会在服务器端创建,通过http响应给客户端(浏览器) // 服务器把cookie响应给客户端,所有的cookie对象,都会在服务器端创建,通过http响应给客户端(浏览器)
response.addCookie(cookie); response.addCookie(cookie);
} }
...@@ -160,7 +192,7 @@ public class CookiesHelper { ...@@ -160,7 +192,7 @@ public class CookiesHelper {
* 登录初始化 * 登录初始化
*/ */
public static void tokenInit() throws UnsupportedEncodingException { public static void tokenInit() throws UnsupportedEncodingException {
String tokenRequest = get(CookiesHelper.TOKEN_STRING_KEY); String tokenRequest = get(CookiesHelper.TOKEN_STRING_KEY, true);
if (!StringHelper.isEmpty(tokenRequest)) { if (!StringHelper.isEmpty(tokenRequest)) {
TokenHelper.setTokenString(tokenRequest); TokenHelper.setTokenString(tokenRequest);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment