SpringMVC基本运行
首先我们要知道在SpringMvc中有一个Front controller,整个流程将以它为中心即DispatcherServlet
,它是一个实际的Servlet
(它继承自HttpServlet
base class),因此在 web application 中声明。整个流程就是客户端发起请求,由SpringMvc
中的DispatcherServle
t寻找对应的控制器进行处理,处理之后会返回一个数据模型,然后再由DispatcherServlet
将这个数据模型交给视图解析器进行渲染,渲染完毕返回给DispatcherServlet
,然后DispatcherServlet
将渲染好的视图返回给客户端。[如有不正确,请指出,谢谢]
web.xml
配置DispatchServlet
<?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_3_0.xsd"
id="WebApp_ID" version="3.0">
<display-name>SpringMvcWebConfig</display-name>
<!-- 解决编码问题 -->
<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- 配置rootApplicationContext,这里写了一个空的,可要可不要 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>Root-servlet.xml</param-value>
</context-param>
<!-- 在初始化DispatcherServlet时,
默认Spring MVC 在 web application 的WEB-INF目录中
查找名为 [servlet-name]-servlet.xml 的文件(此处为SpringMvc-servlet.xml),并创建在那里定义的 beans,
覆盖 global 范围内使用相同 name 定义的任何 beans 的定义。
-->
<servlet>
<servlet-name>SpringMvc