SpringMVC的工作原理和常用注解

一、SpringMVC的工作原理

  1. 用户向服务器发送请求,请求被SpringMVC的前端控制器DispatchServlet捕获;
  2. DispatchServlet 对请求的 URL 进行解析,得到请求资源标识符(URL),然后根据该URL调用HandlerMapping 将请求映射到处理器HandleExcutionChain.
  3. DispatchServlet 根据获得 Handler 选择一个合适的 HandlerAdapter 适配器处理。
  4. Handler 对数据处理完成后将返回一个ModelAndView()对象给DispatchServlet;
  5. Handler 返回的ModelAndView() 只是一个逻辑视图,并不是一个正式的视图,DispatchServlet 通过ViewResolver 视图解析器将逻辑视图化为真正的视图View;
  6. DispatchServlet 通过 model 解析出ModelAndView() 中的参数进行解析最终展现出完整的view并返回给客户端.

二、SpringMVC的常用注解

  • @RequestMapping :用于请求URL映射。
  • @RequestBody : 实现接收http请求的json数据,将json数据转为java对象。
  • @ResponseBody : 实现将Controller 方法的返回对象转化为json响应给客户。

三、如何开启注解处理器和适配器

springmvc.xml中通过开启<mvc:annotation-driven>来实现注解处理器和适配器的开启。

四、如何解决 get 和 post 乱码问题

  • 解决 post 请求乱码:我们可以在web.xml中配置一个CharacterEncodingFilter过滤器。设置为utf-8。
  • 解决 get 请求乱码:
    1.修改tomcat配置文件添加编码和工程编码一致。
    2.对参数的重新编码,例如:
    String userName = new String(Request.getParameter("userName").getBytes("ISO8859-1"),"utf-8" );
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值