总是感觉没有什么目的性,惶惶终日
SpringMVC
@Controller 需要结合 @RequestMapping(后来又衍生出 GETMapping和POSTMapping)
@RequestParam
可以获得前端相同name的数据
默认不能为空 可以更改required设置
通过defaultValue可以设置默认值
@SessionAttribute
可以获得session对应的数据
组件开发
控制器
参数名称和HTTP保持一致,无需注解即可获得 允许参数为空
参数比较多的情况下 就用POJO封装 没有注解的情况下也能自动映射 POJO属性要和HTTP一一对应
如果前端后端命名不一致 可以使用@RequestParam 来映射
使用URL传递参数,符合RESTful风格
只支持GET请求
需要@RequestMapping 和 @PathVariable 协同
@RequestBody 接受从前端传递的JSON对象
@ResponseBody 封装成JSON对象传递给前端
addFlashAttribute:可以在重定向的时候传递POJO数据
@CookieValue
@RequestHeader
拦截器
preHandle:前置执行
postHandle:后置执行
afterCompletion:最终执行
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/**">
多个拦截器的pre方法顺序执行 post和after倒序执行 跟责任链模式的顺序是一样的
验证表单
@Valid 或者实现Validator接口
实现Validator接口后 通过@InitBinder绑定到控制器中
449