<?xml version="1.0" encoding="UTF-8"?>
<!–声明springmvc的核心对象DispatcherServlet
需要在tomcat服务器启动后,创建DispatcherServlet对象的实例
为什么需要创建DispatcharServlet对象的实例:
因为DispatccherServlet在创建过程,会同时创建springmvc容器对象
读取springmvc的配置文件,把这个配置文件中的对象创建好,当用户发起请求时可以直接使用对象
Servlet的初始化会执行init()方法。DispatcherServlet在init()中{
//创建容器,读取配置文件
WebApplicationContext ctx = new ClassPathXmlApplicationContext("springmvc.xml");
//把容器对象放入到ServletContext中
getServletContext().setAttribute(key,ctx);
}
启动tomcat报错:读取这个文件/WEB-INF/myweb-servlet.xml
springmvc创建容器对象时,读取的配置文件默认是/WEB-INF/<servlet-name>-servlet.xml
这种方式不灵活:目录位置固定、文件名称需要按照默认的命名规则
可自定义读取配置文件的位置,如下:
-->
<servlet>
<servlet-name>myweb</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!--自定义springmvc读取配置文件的位置-->
<init-param>
<!--springmvc的配置文件的位置的属性-->
<param-name>contextConfigLocation</param-name>
<!--指定自定义文件的位置-->
<param-value>classpath:springmvc.xml</param-value>
</init-param>
<!--
在tomcat启动后,创建Servlet对象
load-on-startup:表示tomcat启动后创建对象的顺序。它的值是整数(>=0)
值越小,tomcat创建对象的时间越早
-->
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>myweb</servlet-name>
<!--
在使用框架的时候url-pattern有两种值可以使用
1)使用拓展名的方式,语法: *.xxx,xxx是自定义拓展名。常用的方式有:*.do、*.action、*.mvc等
http://localhost:8080/myweb/some.do
http://localhost:8080/myweb/some.do
2)使用"/"
-->
<url-pattern>*.do</url-pattern>
</servlet-mapping>