说说spring的DispatcherServlet

DispatcherServlet是spring mvc 中的一个核心类,下面说下这个类的主要用途

一.它可以基于一个JavaBean的方式来进行定义
二.可以使用任何的HandlerMapping,什么是 HandlerMapping 呢?就是为了控制请求转到handler中的在应用中提请生成的映射规则。默认的是 BeanNameUrlHandlerMapping and DefaultAnnotationHandlerMapping HandlerMapping 能够被当做一个bean来在servlet全局中进行定义,而且定义的bean 的名称 可以是任何类型的
三.可以指定异常解决方案,通过在系统中配置不同的 HandlerExceptionResolver ,这些 HandlerExceptionResolver的配置名称也可以是任意的 因为默认是通过这些 HandlerExceptionResolver 的类型来进行注入的
四.可以通过定义 ViewResolver 来实现 默认的是通过 InternalResourceViewResolver 来实现一个 view 名字 被映射到一个 view 页面 我们可以在上下文的配置中去使用不同的 ViewResolver ,这些 ViewResolver 的名称 可以是任意值 因为默认的是通过类型来注入的

五.可以实现在一个页面上传送文件的解决类 这个处理是通过 CommonsMultipartResolver 来处理的,这个类可以设置最大上传的大小,上传的编码格式等 默认的的属性名是 multipartResolver 该属性值默认的null,

六.可以实现怎么在页面中定义一个主题,也就是说不同的页面,显示不同的主题



下面说下 DispatcherServlet做的主要事情

一。调用 initStrategies() 方法,该方法内部会调用好多的初始化方法,其中比较重要的是下列几个初始化方法

一.初始化 HandlerMapping 处理类,如果我们在配置文件中配置了HandlerMapping 类那么就会使用外面配置的,没有配置的话 就会使用默认的BeanNameUrlHandlerMapping 这个Mapping会根据页面的 URL 中的 请求名来找到 controller了 比如 你的请求是

http://localhost/test/test/test.do?name=1

那么你的controller 就要这样配置了

<bean name="/test/test/test.do" class="com.wang.controller"/>

bean的配置要注意的是 一定要用name 因为 id 里面是不允许使用 / 这个符号的,另外就是这个name 一定要以 / 开头 比如上面的你配置成 test/test/test.do 就不可以
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值