| | |
| | | package com.lf.server.helper; |
| | | |
| | | import com.lf.server.entity.all.StaticData; |
| | | import org.springframework.web.context.request.RequestContextHolder; |
| | | import org.springframework.web.context.request.ServletRequestAttributes; |
| | | |
| | | import javax.servlet.http.Cookie; |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import javax.servlet.http.HttpSession; |
| | | import java.io.IOException; |
| | | import java.io.PrintWriter; |
| | | import java.sql.Timestamp; |
| | | import java.util.Calendar; |
| | | import java.util.UUID; |
| | |
| | | */ |
| | | public static void saveToken2Cookie(String token, HttpServletRequest request, HttpServletResponse response) { |
| | | // 先删除 |
| | | deleteCookie(StaticData.TOKEN_COOKIE_KEY, request, response); |
| | | deleteAll(request, response); |
| | | |
| | | // 再保存 |
| | | saveCookie(StaticData.TOKEN_COOKIE_KEY, token, response); |
| | |
| | | } |
| | | |
| | | /** |
| | | * 删除所有Cookie |
| | | * |
| | | * @param request |
| | | * @param response |
| | | */ |
| | | public static void deleteAll(HttpServletRequest request, HttpServletResponse response) { |
| | | Cookie[] cookies = request.getCookies(); |
| | | if (cookies != null && cookies.length > 0) { |
| | | for (Cookie c : cookies) { |
| | | c.setMaxAge(0); |
| | | c.setPath("/"); |
| | | response.addCookie(c); |
| | | } |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 根据键获取Cookie值 |
| | | */ |
| | | public static String getCookieByKey(String key,HttpServletRequest request) { |
| | | Cookie[] cookies = request.getCookies(); |
| | | if (cookies == null || cookies.length == 0) { |
| | | return null; |
| | | } |
| | | |
| | | for (Cookie c : cookies) { |
| | | if (key.equals(c.getName())) { |
| | | return c.getValue(); |
| | | } |
| | | } |
| | | |
| | | return null; |
| | | } |
| | | |
| | | /** |
| | | * 获取Token |
| | | * |
| | | * @param request |
| | |
| | | |
| | | return token; |
| | | } |
| | | |
| | | /** |
| | | * 获取Request |
| | | * |
| | | * @return |
| | | */ |
| | | public static HttpServletRequest getRequest() { |
| | | ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); |
| | | |
| | | return servletRequestAttributes.getRequest(); |
| | | } |
| | | |
| | | /** |
| | | * 获取Response |
| | | * |
| | | * @return |
| | | */ |
| | | public static HttpServletResponse getResponse() { |
| | | ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); |
| | | |
| | | return servletRequestAttributes.getResponse(); |
| | | } |
| | | |
| | | /** |
| | | * 获取Session |
| | | * |
| | | * @return |
| | | */ |
| | | public static HttpSession getSession() { |
| | | return getRequest().getSession(); |
| | | } |
| | | |
| | | /** |
| | | * 输出json数据到前端 |
| | | * |
| | | * @param response |
| | | * @param jsonPack |
| | | * @throws Exception |
| | | */ |
| | | public static void write2Page(HttpServletResponse response, String jsonPack) throws IOException { |
| | | response.setContentType("application/json;charset=UTF-8"); |
| | | response.setHeader("Cache-Control", "no-cache"); |
| | | response.setHeader("Pragma", "No-cache"); |
| | | response.setDateHeader("Expires", 0); |
| | | |
| | | PrintWriter out = response.getWriter(); |
| | | out.print(jsonPack); |
| | | |
| | | out.flush(); |
| | | out.close(); |
| | | } |
| | | } |