SpringMVC基础

在开发中service和dao层交给Spring框架而controller层则使用SpringMVC框架。

SpringMVC如何管理浏览器发来的请求:

请求来到服务器后,服务器【Tomcat】找到前端控制器【DispatcherServlet】;

前端控制器【DispatcherServlet】接收任何请求,但不做处理,把请求交给处理器映射器【HandlerMapping】;

处理器映射器【HandlerMapping】根据请求的路径,根据路径去找可执行的组件,并把映射到的组件串起来返回,即处理器执行链【HandlerExecutionChain】返回至前端控制器【DispatcherServlet】;

前端控制器【DispatcherServlet】不执行改内容,并把返回处理器执行链【HandlerExecutionChain】交给处理器适配器【HandlerAdaptor】;

处理器适配器【HandlerAdaptor】可以与处理器【Handler】执行返回处理器执行链【HandlerExecutionChain】内容完毕并输出一个模型和视图【ModelAndView】给前端控制器【DispatcherServlet】;

前端控制器【DispatcherServlet】把模型和视图【ModelAndView】交给视图解析器【ViewResolver】返回视图对象【View】给前端控制器【DispatcherServlet】;

前端控制器【DispatcherServlet】渲染对象【View】为视图页面【jsp】并且返回给请求来源。

SpringMVC开发步骤:

导入SpringMVC坐标:

导入坐标后还需要配置SpringMVC

编写Controller

@RequestMapping("/user")注解如果写在UserController上面

那么请求地址会从http://localhost:8080/test变为http://localhost:8080/user/test

return


是对

转发forward的省略,同样可以换成重定向redirect

jsp存放位置:

写完注解配置后Spring并不能知道我们的配置,需要进行扫描,但是我们不会把扫描写道applicationContext.xml中,我们会专门写一个spring-mvc.xml来专门配置SpringMVC

配置Spring-mvc配置文件

首先复制并把beans改为context来添加引用,然后只扫描controller包

这里内部资源视图解析器的前后字符串配置要与jsp文件位置一致

然后我们必须加载spring-mvc.xml

在web.xml中配置前端控制器

其中这一步是为了加载spring-mvc.xml

通常有两种配置的方式:

/缺省配置:除了jsp文件以外的所有请求都被当前Servlet接收,会覆盖tomcat自带的DefaultServlet的缺省配置,所以要自行处理静态资源

*.xxx扩展名匹配:不会接收jsp,可以有效规避静态资源(.html)处理问题

获得POJO类型参数

Controller中的业务方法的POJO参数的属性名与请求参数的name一致,参数值会自动映射匹配

user类:

UserController类:

运行测试

test


这是转发

user


SpringMVC流程图


前端控制器是一个Servlet,Servlet里接受请求返回视图的就是Service

原文地址:https://www.cnblogs.com/maomaodesu/p/12268886.html