Springmvc执行流程
1、启动Tomcat
2、加载项目中的web.xml
web.xml代码
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
<!--配置核心控制器-->
<servlet>
<servlet-name>dispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!--springmvc配置文件加载路径
1)默认情况下,读取WEB-INF下面的文件
2)可以改为加载类路径下(resources目录),加上classpath
-->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springMVC.xml</param-value>
</init-param>
<!--DispatcherServlet对象创建时间问题
1)默认情况下,第一次访问该Servlet的创建对象,意味着再这个时间才去加载springMVC.xml
2)可以改变为再项目启动的时候就创建该Servlet,提高用户访问体验
数值越大,对象创建优先级越低
-->
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcherServlet</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
</web-app>
3、初始化web.xml里面配置好的DispatcherServlet
4、加载DispatcherServlet里面的SpringMVC.xml配置文件
第三步和第四步图解
springMVC.xml代码
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">
<!--扫描Controller的包-->
<context:component-scan base-package="com.springMVC.controller"/>
<!--2配置视图解析器-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!--2.1页面前缀-->
<property name="prefix" value="/pages/"/>
<!--2.2页面后缀-->
<property name="suffix" value=".jsp"/>
</bean>
<!--3.开启mvc注解驱动-->
<mvc:annotation-driven/>
</beans>
5、扫描springMVC.xml里面的包扫描路径
第五步图解
6、扫描(第五步配置路径下加了Controller注解的所有类)
controller代码
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class HelloController {
@RequestMapping("/hello.do")
public String hello(){
System.out.println("进入控制器方法");
return "success";
}
}