SpringMVC 内容小结

63 阅读2分钟

一、路径匹配

@RequestMapping 路径定义

@RequestXXXX 开头表示从 Request 里面拿数据

@PathXXXX 开头表示从 URL 里面拿数据

二、请求参数绑定

使用 request 和 response (包括 httpxxx)默认

使用同名参数 (形参),参数不一样可以用 @RequestParam 绑定

使用实体类

1.非 json 格式,前端 application/x-www-from-urlencoded 或者 multipart/form-dat

2.Json 格式,前端 application/json,后端需加上 @RequsetBody 注解

总结

请求参数最终要么是以键值对(键值对可以分散来,或者作为一个整体),或者集合,或者 json 格式

三、对请求参数的处理

1.Formater 和 converter

2.自定义 converter 并且注册

四、数据响应

(一)前后端未分离

  • 处理器返回 String 对象:转发到字符串指定的 URL
  • 处理器返回 void, 表示执行完处理器方法体内代码后,不进行请求转发,而直接转发到当前 URL.
  • 处理器返回 ModelAndView 对象:更灵活地添加属性和指定返回视图

(二)前后端分离

@Responsebody 直接返回 json 数据

五、转发和重定向

  • 转发共用 request 域
  • 重定向需要重新设置 request 的内容

六、作用域传递值

  • page(PageContextImpl):当前 jsp 页面范围内有效
  • request(HttpServletRequest):一次请求响应范围有效,同一客户端的不同请求,无法获取域对象中的值.Model, ModelAndView,ModelMap 数据就会自动放入 Request 作用域。场景:转发。
  • session(HttpSession):一次会话范围有效,同一客户端在一次会话内的多个请求,都可以获取到 session 保存作用域内的值;可以看成一次浏览器关闭。场景:购物车。
  • application(ServletContext):一次应用程序范围;可以看成一次服务器关闭。场景:网页访问计数;重复登录判断。

七、文件上传下载

  • 前端: 表单的 enctype 属性取值必须是 multipart/form-data
  • 思路: 解析 request 对象和 response 对象
  • SpringMVC 配置文件解析器
  • 跨服务器传递文件(文件服务器)

八、异常处理器

九、拦截器