基础1-基础

基础

2011年毕业的时候,当时MVC思想非常流行,从总体设计的思路来看,C指的是Struts、V指的是视图层(当时我用的是freemarker)、M用的是Spring;即便到了详细设计层面,每个模块的组成也是分为MVC这3部分。

到了Spring MVC的时候,Spring根据MVC思想,一次性把这3个组成部分整合到一起,特别是Spring3.0之后就全面超越Struts2,成为最优秀的MVC框架。

Spring MVC通过一套MVC注解,让POJO成为处理请求的控制器,而无须实现任何接口,且支持REST风格的URL请求,采用了松散耦合、可拔插组件结构,比其他MVC框架更具有扩展性和灵活性。

使用Spring MVC分为如下几个步骤:

①在web.xml中配置DispatcherServlet、配置HiddenHttpMethodFilter;

②加入Spring MVC配置文件,默认配置是WEB-INFO/<servlet-nane>.xml;

③配置自定义扫描包:<context:component-scan/>;

④编写逻辑、编写视图;

注意

如果将DispatcherServlet请求映射配置为/,则SpringMVC将会捕获WEB容器的所有请求,包括静态资源的请求,例如:js、png、css等,此时SpringMVC会把这些静态资源请求当成一个普通的请求来处理,由于没有对应的Handler方法,因此找不到对应的处理器进而导致错误;

为了解决这个问题,可以在SpringMVC的配置文件中配置<mvc:default-servlet-handler/>来解决静态资源映射问题:

工作原理就是:org.apache.catalina.servlete.DefaultServlet

DefaultServletHttpRequestHandler,如果发现该请求没有经过映射,则将该请求转交给容器自带的DefaultServlet,进而让容器去处理这些资源;如果经过映射,则继续转交给DispatchServlet继续处理;

如果想用自己的DefaultServlet来取代容器的DefaultServlet,则可以通过<mvc:default-servlet-handler/>的defalut-servlet-name属性来指定自定义的DefaultServlet;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值