一 、Spring MVC 的工作原理
①、客户端发送请求
②、如果请求符合指定后缀,请求进入核心控制器(dispatchServlet)
③、核心控制器根据请求 url,查找 HandlerMapping 找到对应的 Controller 来处理,没有则返回404
④、核心控制器会根据获得的 Handler 选择对应的 HandlerApdater 适配器来处理
⑤、提取Request中的模型,填充Controller,准备执行controller(数据验证,数据转换,数据格式化)
⑥、Controller执行完成后,向核心控制器返回一个ModelAndView
⑦、通过视图解析器(ViewResolver)渲染视图并返回给客户端
二、 Spring MVC常用注解
①、@RequestMapping 用于请求 url 映射
②、@RequsetBody 实现接收 http 请求的 json 数据,将 json 数据转换为 java 对象
③、ResponseBody 注解实现将 contoller 方法返回对象转化为 json 响应给客户端
三、如何解决 get 和 post 乱码问题
①、解决 get 乱码:
对于 get 请求中文参数出现乱码问题的两个解决方法:
修改 tomcat 配置文件添加编码与项目编码保持一致。
另一种方法是对参数进行重新编码:Request.getParameter("userName").getBytes("ISO8859-1"),"UTF-8");
②、解决 post 乱码:
对于 post 请求乱码的解决方法:
在 web.xml 里配置一个 CharacterEncodingFilter 过滤器,设置为 UTF-8