SpringMVC入门到理解之谈控制器
上一篇:SpringMVC入门到理解之开门篇
上一篇我们知道有很多控制器组件!!!
——》DispatcherServlet:前端控制器(核心控制器)
用户请求到达前端控制器,它就相当于mvc模式中的c,dispatcherServlet是整个流程控制的中心,由它调用其它组件处理用户的请求,dispatcherServlet的存在降低了组件之间的耦合性。
DispatcherServlet的工作流程:DispatcherServlet应用的其实就是一个“前端控制器”的设计模式(
其他很多优秀的
web框架也都使用了这个设计模式) 。
DispatcherServlet其实就是个
Servlet ( 它继承自
HttpServlet 基类) ,同样也需要在你web应用的web.xml
配置文件下声明。你需要在web.xml
文件中把你希望 DispatcherServlet
处理的请求映射到对应的URL上去。
DispatcherServlet的初始化过程中,Spring MVC会在你web应用的WEB-INF
目录下查找一个名为[servlet-name]-servlet.xml的配置文件,并创建其中所定义的bean。如果在全局上下文中存在相同名字的bean,则它们将被新定义的同名bean覆盖。
DispathcerServlet作为springmvc的中央调度器存在,DispatcherServlet创建时会默认从DispatcherServlet.properties文件加载springmvc所用的各各组件,如果在springmvc.xml中配置了组件则以springmvc.xml中配置的为准,DispatcherServlet的存在降低了springmvc各各组件之间的耦合度。
我们再来看看在spring-webmvc架包中的DispatcherServlet.properties文件
Spring的 DispatcherServlet 使用了特殊的bean来处理请求、渲染视图等,这些特定的bean是Spring MVC框架的一部分。如果你想指定使用哪个特定的bean,你可以在web应用上下文 WebApplicationContext 中简单地配置它们。如果你没有进行特别的配置,框架将会使用默认的bean。
下面就是默认的bean!
里面有很多控制器、了解一下也好!
上面资料:Spring MVC
中文 文档 翻译组提供(主站:mvc.linesh.tw )
——》HandlerMapping:处理器映射器
——》HandlAdapter:处理器适配器
HandlerMapping:HandlerMapping负责根据用户请求找到Handler即处理器,springmvc提供了不同的映射器实现不同的映射方式,例如:配置文件方式,实现接口方式,注解方式等。
HandlAdapter:通过HandlerAdapter对处理器进行执行,这是适配器模式的应用,通过扩展适配器可以对更多类型的处理器进行执行。
上面是注解处理器映射器
<!—简单url映射 -->
<beanclass="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
这是简单的映射器、实际开发都是用下面这种<mvc:annotation-driven></mvc:annotation-driven>
——》View Resolver:视图解析器
View Resolver负责将处理结果生成View视图,View Resolver首先根据逻辑视图名解析成物理视图名即具体的页面地址,再生成View视图对象,最后对View进行渲染将处理结果通过页面展示给用户。 springmvc框架提供了很多的View视图类型,包括:jstlView、freemarkerView、pdfView等。
<!-- 配置jsp路径的前缀 -->
方便我的开发了、这样比struts2好多了。
<!-- 配置jsp路径的后缀 -->