当前位置: 代码迷 >> 综合 >> Servlet工具类
  详细解决方案

Servlet工具类

热度:82   发布时间:2024-01-25 19:41:40.0
/*** 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("");}
}
  相关解决方案