SpringMVC常用工具类总结
Posted 敲代码的小小酥
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringMVC常用工具类总结相关的知识,希望对你有一定的参考价值。
RequestContextHolder类
我们在service层处理业务时,有时会用到Request对象。大部分的做法是将Request作为参数,由Controller层传入。
RequestContextHolder类提供了简洁方法,可以通过
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
获得request对象,无需在进行参数传递。简单方便。本质就是将request对象传入了ThreadLocal中。
WebUtils类
该类封装了关于session,cookie的常用方法,传入request对象,可直接返回session和cookie的相关信息。无需再获取session和cookie对象本身。
- 获取sessionId方法:
public static String getSessionId(HttpServletRequest request) {
Assert.notNull(request, "Request must not be null");
HttpSession session = request.getSession(false);
return (session != null ? session.getId() : null);
}
传参request对象,直接返回sessionid。无需再获取session对象。
- 获取session的某个attribute属性值
public static Object getSessionAttribute(HttpServletRequest request, String name) {
Assert.notNull(request, "Request must not be null");
HttpSession session = request.getSession(false);
return (session != null ? session.getAttribute(name) : null);
}
传入request对象和attrubute的key,返回对应的value值。
- 获取cookie对象
public static Cookie getCookie(HttpServletRequest request, String name) {
Assert.notNull(request, "Request must not be null");
Cookie[] cookies = request.getCookies();
if (cookies != null) {
for (Cookie cookie : cookies) {
if (name.equals(cookie.getName())) {
return cookie;
}
}
}
return null;
}
通过request对象和name获取相应的cookie。
- 根据参数名称获取参数值
public static String findParameterValue(ServletRequest request, String name) {
return findParameterValue(request.getParameterMap(), name);
}
传入request对象和参数名称,直接返回参数值。
以上是关于SpringMVC常用工具类总结的主要内容,如果未能解决你的问题,请参考以下文章