SpringMVC组件说明以及配置代码

DispatcherServlet:前段控制器

用户请求到达前端控制器,相当于MVC模式中的C,DispatcherServlet是整个流程控制的中心,由于它调用其他组件处理用户的请求,它的存在降低了组件之间的耦合性。

HandlerMapping:处理器映射器

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

Hnadler:处理器

Handler是继DispatcherServlet前端控制器的后端控制器,在DispatcherServlet的控制下Handler对具体的用户请求进行处理。由于Handler涉及到具体的业务请求,所以一般情况需要根据业务需求开发Handler。

HandlerAdapter:处理器适配器

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

ViewResolver:视图解析器

ViewResolver负责将处理结果生成View视图,View Resolver首先根据逻辑视图名解析成程物理视图名即具体的页面地址,再生成VIew视图对象,最后对View进行渲染将处理结果通过页面展示给用户。

View:视图

Spring提供了很多的View视图类型的支持,包括:JSTLView、FreeMarkerView、PDFView等,常用的是jsp。一般情况下需要由程序员根据业务需求开发具体的页面。

 

默认加载的组件:

不做任何配置,就可以使用这些组件,因为框架已经默认加载这些组件了。

 

组件扫描器:

使用组件扫描器省去了在sprign容器配置每个Controller类的繁琐

使用<context:component-scan>自动扫描标记@Controller的控制器类,在springmvc.xml配置文件如下:

<!--配置controller扫描包,多个包之间用,分隔-->

<context:component-scan base-package="cn.springmvc.controller"/>

配置处理器映射器:

注解式处理器映射器,对类中标记了@RequestMapping的方法进行映射,根据@RequestMapping定义的url匹配@RequestMapping标记的方法,匹配成功返回HandlerMethod对象给前端控制器。

HandlerMethod对象中封装url对应的方法Method。

在springmvc.xml配置文件中配置如下:

<!--配置处理器映射器-->

<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/>

配置处理器适配器:

注解式处理器适配器,对标记@RequestMapping的方法进行适配。

在springmvc.xml配置文件中配置如下:

<!--配置处理器适配器-->

<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/>

注解驱动:

直接配置处理器映射器和处理器适配器比较麻烦,可以使用注解驱动来加载。

SpringMVC使用<mvc:annotation-driven>自动加载RequestMappingHandlerMapping和RequestMappingHandlerAdapter

可以在springmvc.xml配置文件中使用<mvc:annotation-driven>替代注解处理器和适配器的配置。

<!--注解驱动-->

<mvc:annotation-driven/>

视图解析器:

视图解析器使用SpringMVC框架默认的InternalResourceViewResolver,这个视图解析器支持JSP视图解析。

在springmvc.xml配置文件中配置如下:

<!--配置视图解析器-->

<bean

class = "org.springframework.web.servlet.view.InternalResourceViewResolver">

         <!--配置逻辑视图的前缀-->

         <property name="prefix" value="/WEB-INF/jsp/"/>

         <!--配置逻辑视图的后缀-->

          <property name="suffix" value=".jsp"/>

</bean>

逻辑视图名需要在controller中返回ModelAndView指定,比如逻辑视图名为Item,则最终返回的jsp视图地址:

"WEB-INF/jsp/Item.jsp"

最终jsp物理地址:

前缀+逻辑视图名+后缀

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

霸道流氓气质

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值