SpringMVC入门1——框架的基本流程

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、流程解释

我们先来看一张流程图
SpringMVC入门1——框架的基本流程_第1张图片

首先看看web.xml中的代码


<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>springmvcservlet-name>
		<servlet-class>
			org.springframework.web.servlet.DispatcherServlet
		servlet-class>
		<load-on-startup>1load-on-startup>
	servlet>
	<servlet-mapping>
		<servlet-name>springmvcservlet-name>
		<url-pattern>/url-pattern>
	servlet-mapping>
web-app>

其中

	<url-pattern>/url-pattern>

中的 / 表示拦截所有的请求,并交由Spring MVC的后台控制器来处理

然后观察springmvc-servlet.xml文件



<beans>
	<bean id="simpleUrlHandlerMapping"
		class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
		<property name="mappings">
			<props>
				<prop key="/index">indexControllerprop>
			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">indexControllerprop>

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;
	}
}

这样,一个流程就结束了

你可能感兴趣的:(java)