02-request
一.HttpServletRequest 中 getParameter 和 getAttribute 方法
1.getParameter()方法
该方法是用于客户端传递过来的参数,它的返回值类型永远是字符串类型,这个赋值动作是服务端容器完成的
特别的,当我们新建一个Servlet 继承自 HttpServlet 后,HttpServletRequest中并没有setParameter方法
2.getAttribute()方法
该方法是在请求传到服务器端后,在去使用其进行存取一些附加数据。它的返回类型永远是Object.
注:
所以如果需要在服务器端进行跳转,并需要想下个页面发送新的参数时,由于没有setParameter方法,
只可以通过setAttribute(),将值放入到request对象,然后在其他页面使用getAttribute获取对应的值,
这样就达到一次请求可以在多个页面共享一些对象信息,并且setAttribute可以设置引用类型对象
总结:获取客户端参数时用req.getParameter;服务端设置值时用req.setAttribute方法。 二.RequestContextHolder
在Spring MVC中,为了随时都能取到当前的request对象,其内部也是通过ThreadLocal实现,将request和当前线程绑定完成;
可以通过RequestContextHolder的静态方法getRequestAttributes() 获取Request相关的变量,如 request, response等。
例:
RequestContextHolder.getRequestAttributes().getRequest();
RequestContextHolder.getRequestAttributes().getResponse(); 二.Filter(过滤器) 和 HandlerInterceptor(spring中的拦截器) 的区别
三.ResponseBodyAdvice
四.SpringMVC 中的 CommonsMultipartResolver 可以实现文件的上传
五.Objects 类
六.JDK1.8 中新增时间日期类,Instant(时间戳类)、Duration类、Period类
Last updated