- 要从浏览器访问Java servlet,必须告诉servlet容器要部署哪些servlet以及要将servlet映射到哪个URL,在spring mvc中提供了DispatcherServlet创建servlet容器,同时加载创建bean对象和配置
- 初始化 DispatcherServlet时,该框架在web应用程序WEB-INF目录中寻找一个名为[servlet-名称]-servlet.xml的文件,并在那里定义相关的Beans
- 其次,将servlet映射到URL或URL模式。 这在<servlet-mapping>元素中完成,如果设置/则表示拦截全部
标签 |
说明 |
||||||||||||||||||||||||||||||||||||||||||||||||||
<servlet> |
在向servlet或JSP页面制定初始化参数或定制URL时,必须首先命名servlet或JSP页面。Servlet元素就是用来完成此项任务的
|
||||||||||||||||||||||||||||||||||||||||||||||||||
<servlet-mapping> |
服务器一般为servlet提供一个缺省的URL:http://host/webAppPrefix/servlet/ServletName.但是,常常会更改这个URL,以便servlet可以访问初始化参数或更容易地处理相对URL。在更改缺省URL时,使用servlet-mapping元素
|
- <servlet>有两种配置dispatcher-servlet.xml方案
- 使用默认配置文件路径,文件名规则:<servlet-name>-servet.xml
/WEB-INF
web.xml
dispatcher-servlet.xml
示例
<servlet> <!-- 配置前端控制器DispatcherServlet --> <servlet-name>dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> </servlet> |
- 指定配置文件路径
/resources
dispatcher-servlet.xml
/webapp
/WEB-INF
web.xml
示例
<servlet> <!-- 配置前端控制器DispatcherServlet --> <servlet-name>dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <!-- 指定servlet对象代理的配置文件dispatcher-servlet.xml --> <param-name>contextConfigLocation</param-name> <param-value>classpath:dispatcher-servlet.xml</param-value> </init-param> </servlet> |
- <servlet-mapping>
的两种映射方式
- 使用扩展名方式:*.自定义扩展名,类似*.do,*.action
- 使用斜杠:/
示例
<servlet-mapping>
<!-- 把请求映射到servlet -->
<servlet-name>dispatcher</servlet-name>
<!-- 拦截所有请求 -->
<url-pattern>/</url-pattern>
<url-pattern>*.da</url-pattern>
</servlet-mapping>
注
使用斜杠后前端控制器与tomcat中config目录下web.xml中的default servlet作用一样,接收了静态资源和其他未映射的请求,需要对静态资源提供映射,即<mvc:resources>