SpringMVC稳扎稳打(2)之控制器

SpringMVC稳扎稳打(1)之入门篇 :  GitHub代码下载:点击下载



         上一篇我们了解到SpringMVC有很多控制器组件、介绍几个核心的控制器、便以后的学习和使用。加深对SpringMVC的理解。


——》1、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文件


       SpringDispatcherServlet使用了特殊的bean来处理请求、渲染视图等,这些特定的beanSpring MVC框架的一部分。如果你想指定使用哪个特定的bean,你可以在web应用上下文WebApplicationContext中简单地配置它们。如果你没有进行特别的配置,框架将会使用默认的bean

下面就是默认的bean!



里面有很多控制器、了解一下也好!




——》2、HandlerMapping:处理器映射器

      HandlerMappingHandlerMapping负责根据用户请求找到Handler即处理器,springmvc提供了不同的映射器实现不同的映射方式,例如:配置文件方式,实现接口方式,注解方式等。


——》3、HandlAdapter处理器适配器

      HandlAdapter通过HandlerAdapter对处理器进行执行,这是适配器模式的应用,通过扩展适配器可以对更多类型的处理器进行执行。


上面是注解处理器映射器

<!—简单url映射 -->

   <beanclass="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">


这是简单的映射器、实际开发都是用下面这种


<mvc:annotation-driven></mvc:annotation-driven>

——》4、View Resolver:视图解析器

View Resolver负责将处理结果生成View视图,View Resolver首先根据逻辑视图名解析成物理视图名即具体的页面地址,再生成View视图对象,最后对View进行渲染将处理结果通过页面展示给用户。 springmvc框架提供了很多的View视图类型,包括:jstlView、freemarkerView、pdfView等。


<!-- 配置jsp路径的前缀 -->   

      方便我的开发了、这样比struts2好多了。

<!-- 配置jsp路径的后缀 -->



系列文章

       SpringMVC稳扎稳打(3)之拦截器





  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值