/** * Created by IntelliJ IDEA. * author: 蔡燃 * date: 2019/12/4 * explain:Servlet工具类 */ @Log4j2 public class ServletUtils { private static ServletRequestAttributes getRequestAttributes() { RequestAttributes attributes = RequestContextHolder.getRequestAttributes(); return (ServletRequestAttributes) attributes; } /** * 获取request */ public static HttpServletRequest getRequest() { return getRequestAttributes().getRequest(); } /** * 获取response */ public static HttpServletResponse getResponse() { return getRequestAttributes().getResponse(); } /** * 获取session */ public static HttpSession getSession() { return getRequest().getSession(); } /** * 获取String参数 */ public static String getParameter(String name) { return getRequest().getParameter(name); } /** * 获取用户信息 * * @return 用户信息 */ public static User getUser() { User user = (User) getRequest().getAttribute("user"); if (user == null) { user = (User) getSession().getAttribute("user"); if (user == null) { log.error("ServletUtils 获取用户失败"); throw new NullPointerException("ServletUtils 获取用户失败"); } } return user; } /** * 获取业务员信息 * * @return 业务员信息 */ public static Salesman getSalesman() { Salesman salesman = (Salesman) getRequest().getAttribute("salesman"); if (salesman == null) { salesman = (Salesman) getSession().getAttribute("salesman"); if (salesman == null) { log.error("请求中获取业务员失败"); throw new NullPointerException("请求中获取业务员失败"); } } return salesman; } /** * 获取token * * @return token信息 */ public static String getToken() { String token = (String) getRequest().getAttribute("token"); if (token == null) { log.error("request 中获取token失败"); throw new NullPointerException("request 中获取token失败"); } return token; } /** * 是否是Ajax异步请求 * * @return 结果 */ public static boolean isAjaxRequest() { HttpServletRequest request = getRequest(); String accept = request.getHeader("accept"); if (accept != null && accept.indexOf("application/json") != -1) { return true; } String xRequestedWith = request.getHeader("X-Requested-With"); if (xRequestedWith != null && xRequestedWith.indexOf("XMLHttpRequest") != -1) { return true; } String uri = request.getRequestURI(); if (StringUtils.inStringIgnoreCase(uri, ".json", ".xml")) { return true; } String ajax = request.getParameter("__ajax"); if (StringUtils.inStringIgnoreCase(ajax, "json", "xml")) { return true; } return false; } public static boolean isAppletRequest() { String servletPath = getRequest().getServletPath(); return servletPath.contains("/applet/"); } /** * 将字符串渲染到客户端 * * @param string 待渲染的字符串 */ public static void renderString(String string) { try { HttpServletResponse response = getResponse(); response.setContentType("application/json"); response.setCharacterEncoding("utf-8"); response.getWriter().print(string); } catch (IOException e) { e.printStackTrace(); } } /** * 判断是否有token * * @return 结果 */ public boolean hasToken() { String token = (String) getRequest().getAttribute("token"); return token != null && !token.trim().equals(""); } }
Servlet工具类
最新推荐文章于 2023-05-06 19:54:44 发布