ServletUtils.java 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. package com.poyee.utils;
  2. import com.alibaba.fastjson.JSONObject;
  3. import com.poyee.res.UserInfo;
  4. import org.springframework.web.context.request.RequestContextHolder;
  5. import org.springframework.web.context.request.ServletRequestAttributes;
  6. import javax.servlet.http.HttpServletRequest;
  7. import javax.servlet.http.HttpServletResponse;
  8. import javax.servlet.http.HttpSession;
  9. /**
  10. * Servlet 工具类
  11. */
  12. public class ServletUtils {
  13. /**
  14. * 获取当前请求
  15. */
  16. public static HttpServletRequest getRequest() {
  17. ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
  18. if (attributes == null) {
  19. return null;
  20. }
  21. return attributes.getRequest();
  22. }
  23. public static HttpServletResponse getHttpResponse() {
  24. ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
  25. if (attributes == null) {
  26. return null;
  27. }
  28. return attributes.getResponse();
  29. }
  30. /**
  31. * 获取当前 Session
  32. */
  33. public static HttpSession getSession() {
  34. HttpServletRequest request = getRequest();
  35. if (request == null) {
  36. return null;
  37. }
  38. return request.getSession();
  39. }
  40. /**
  41. * 获取当前登录用户
  42. */
  43. public static JSONObject getCurrentUser() {
  44. HttpServletRequest request = getRequest();
  45. if (request == null) {
  46. return null;
  47. }
  48. return (JSONObject) request.getAttribute("currentUser");
  49. }
  50. /**
  51. * 设置当前登录用户
  52. */
  53. public static void setCurrentUser(UserInfo userInfo) {
  54. HttpServletRequest request = getRequest();
  55. if (request != null) {
  56. request.setAttribute("currentUser", userInfo);
  57. }
  58. }
  59. }