博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
(二)SpringMVC核心控制器
阅读量:6162 次
发布时间:2019-06-21

本文共 1690 字,大约阅读时间需要 5 分钟。

一、如何配置 Spring MVC 的核心控制器?

DispatcherServlet是前端控制器设计模式的实现,提供Spring Web MVC的集中访问点,主要负责职责的分派。

配置  
springmvc
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:springmvc.xml
springmvc
/

load-on-startup表示启动容器时初始化该Servlet;

url-pattern表示哪些请求交给Spring Web MVC处理, “/” 是用来定义默认servlet映射的。也可以如“*.html”表示拦截所有以html为扩展名的请求。

 

DispatcherServlet的默认配置在DispatcherServlet.properties(和DispatcherServlet类在一个包下)中,而且是当Spring配置文件中没有指定配置时使用的默认策略。

这里写图片描述

DispatcherServlet在启动时会自动注册这些默认的Bean,无需我们注册,如果我们注册了,默认的将不会注册。因此我们入门案例中的BeanNameUrlHandlerMapping、SimpleControllerHandlerAdapter是不需要我们手动注册的,DispatcherServlet默认会注册这两个Bean。里面还有一些其他的默认Bean,我们可以自行去了解。

接下来我们了解一下Spring MVC需要的那些组件。

  二、Spring MVC 的核心控制器的作用是?

DispatcherServlet是前端控制器设计模式的实现,提供Spring Web MVC的集中访问点,而且负责职责的分派,而且与Spring IoC容器无缝集成,从而可以获得Spring的所有好处。 具体请参考第二章的图2-1。

 

DispatcherServlet主要用作职责调度工作,本身主要用于控制流程,主要职责如下:

1、文件上传解析,如果请求类型是multipart将通过MultipartResolver进行文件上传解析;

2、通过HandlerMapping,将请求映射到处理器(返回一个HandlerExecutionChain,它包括一个处理器、多个HandlerInterceptor拦截器);

3、通过HandlerAdapter支持多种类型的处理器(HandlerExecutionChain中的处理器);

4、通过ViewResolver解析逻辑视图名到具体视图实现;

5、本地化解析;

6、渲染具体的视图等;

7、如果执行过程中遇到异常将交给HandlerExceptionResolver来解析。

 

从以上我们可以看出DispatcherServlet主要负责流程的控制(而且在流程中的每个关键点都是很容易扩展的)。

 

三、默认情况下 Spring MVC 的核心控制器从哪里获取配置文件?

该DispatcherServlet默认使用WebApplicationContext作为上下文,SpringMVC默认配置文件为“/WEB-INF/[servlet名字]-servlet.xml”。可以通过<init-param>来自定义文件名称和位置。

 

转载于:https://www.cnblogs.com/yuexiaoyun/p/9460873.html

你可能感兴趣的文章
spring 整合 redis 配置
查看>>
cacti分组发飞信模块开发
查看>>
浅析LUA中游戏脚本语言之魔兽世界
查看>>
飞翔的秘密
查看>>
Red Hat 安装源包出错 Package xxx.rpm is not signed
查看>>
编译安装mysql-5.6.16.tar.gz
查看>>
活在当下
查看>>
每天进步一点----- MediaPlayer
查看>>
PowerDesigner中CDM和PDM如何定义外键关系
查看>>
跨域-学习笔记
查看>>
the assignment of reading paper
查看>>
android apk 逆向中常用工具一览
查看>>
MyEclipse 报错 Errors running builder 'JavaScript Validator' on project......
查看>>
Skip List——跳表,一个高效的索引技术
查看>>
Yii2单元测试初探
查看>>
五、字典
查看>>
前端js之JavaScript
查看>>
Log4J日志配置详解
查看>>
实验7 BindService模拟通信
查看>>
scanf
查看>>