SpringMVC介绍
1.控制转发的DispatcherServlet
运行过程如下:
- 接受客户端的请求
- 由DispatcherServlet控制器通过查询已有的HandlerMapping,从而找到对应的url转发对象
- 获取转发对象即目标的Controller类,进行接受参数、处理数据、返回结果。
- 处理返回的结果,可以返回ModelAndView对象、数据集等
- DispatcherServlet根据结果调用对应的ViewResolver视图解析器,进而找到视图等信息。
- 把视图、数据集返回给客户端进行展示、响应。
2.视图ViewResolver
在配置文件中定义ViewResolver信息,可以找到对应的页面,从而展示信息。比如prefix、suffix,前者控制view路径,后者控制页面的后缀类型jsp/html等。
3.注解
- @Controller
注册bean到上下文中,需要配置信息进行扫描。 - @RequestMapping
定义URL请求路径,属性包括value即路径、method处理的请求HTTP方法(POST、GET),来自页面的URL通过DispatcherServlet跳转到目标位置。 - @ResponseBody
请求数据处理后一般需要返回结果信息,该注解将结果信息转换格式返回给调用对象。 - @RequestBody
- @ModelAttribute
注释方法参数或方法,可以用于接受来自页面的实体对象信息。 - @RequestParam
用于处理接受来自页面的参数信息,比如单个String、多个String、Map对象包裹的信息 - @PathVariable
绑定URL占位符到入参
4.SpringMVC对比Struts2
- 前者基于方法servlet开发实现,速度较快,url映射到具体方法,可以进行单例开发。
- 后者基于类过滤器实现,速度较慢,多例模式,请求多少创建多少对象。