SpringMVC入门1——框架的基本流程
参考文章:https://www.cnblogs.com/wmyskxz/p/8848461.html
本文按照对于SpringMVC所编写的helloworld的描述,分析框架的基本流程
1、代码获取
http://how2j.cn/k/springmvc/springmvc-springmvc/615.html?r=0.6862616316637001
2、流程解释
我们先来看一张流程图
首先看看web.xml中的代码
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
其中
<url-pattern>/</url-pattern>
中的 / 表示拦截所有的请求,并交由Spring MVC的后台控制器来处理
然后观察springmvc-servlet.xml文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="simpleUrlHandlerMapping"
class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/index">indexController</prop>
</props>
</property>
</bean>
<bean id="indexController" class="controller.IndexController"></bean>
</beans>
本文件的文件名是由web.xml中的servlet-name+"servlet"组成的,这是 Spring MVC 的映射配置文件
所以本项目的基本流程是
1、视图层(index.jsp)发送请求
2、web.xml拦截前端来的所有请求
3、通过web.xml文件找到springmvc-servlet.xml映射配置文件
4、通过springmvc-servlet.xml映射配置文件找到了后台控制类indexController
<prop key="/index">indexController</prop>
5、在控制类indexController中找到模型数据及其内容
package controller;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
public class IndexController implements Controller {
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
ModelAndView mav = new ModelAndView("index.jsp");
mav.addObject("message", "Hello Spring MVC");
return mav;
}
}
这样,一个流程就结束了