
SpringMVC——执行原理及简单配置实现
SpringMVC执行原理:
当发起请求时被前置的控制器拦截到请求,
根据请求参数生成代理请求,
找到对应的实际控制器,
控制器处理请求,创建数据模型,访问数据库,将模型响应给中心控制器,
控制器使用模型与视图渲染视图结果,
将结果返回给中心控制器,再将结果返回给请求者。
用Java中的实际模块来表示流程:
图为SpringMVC的一个较完整的流程图,实线表示SpringMVC框架提供的技术,不需要开发者实现,虚线部分则是我们在开发中根据业务实现的内容;
具体分析执行流程:
DispatcherServlet表示前置控制器,是整个SpringMVC的控制中心。用户发出请求,DispatcherServlet接收请求并拦截请求。
我们假设为请求的url为:http://localhost:8080/SpringMVC/hello ,拆分为三部分
http://localhost:8080 服务器域名
SpringMVC 部署在服务器上的web站点
hello 表示控制器
通过分析,如上url表示为:请求位于服务器http://localhost:8080上的SpringMVC站点的hello控制器。
HandlerMapping为处理器映射。DispatcherServlet调用HandlerMapping,HandlerMapping解析url得到对应的handler(controller的映射)
HandlerExecution将解析后的信息传递给DispatcherServlet,如解析控制器映射等;
DispatcherServlet再调用HandlerAdapter(处理器适配器),根据Mapping返回的handler映射去找到对应的Controller并执行;
执行后一般会返回一个ModelAndView到DispatcherServlet
Model:封装执行后的数据
View:需要渲染的视图
得到的ModelAndView会走ViewResolver(视图解析器),视图解析器会解析ModelAndView中的数据找到对应的视图名进行拼接,然后再将Model中的数据渲染到这个视图;
视图解析器将解析后的逻辑视图名传给DispatcherServlet;
DispatcherServlet根据得到的解析后的视图结果,调用具体的视图呈现给用户。
核心配置内容:
SpringMVC.xml配置文件
Web.xml配置文件
Controller控制器
1、web.xml配置
这里使用spring框架中写好的DispatcherServlet类
2、SpringMVC配置文件
3、MyController实现Controller
4、test.jsp
