标签:return mvc框架 部署 流程 object startup dispatch log control
听了秦老师的讲解受益匪浅,感谢秦老师 视频链接
图为SpringMVC的一个较完整的流程图,实线表示SpringMVC框架提供的技术,不需要开发者实现,虚线表示需要开发者实现。
自己分析
1.用户发起请求,经过前端控制器DispatcherServlet.2.DispatcherServlet根据请求找到对应映射器,3.映射器映射了谁,4.把这个映射返回,5.根据映射器再去适配这个映射器,6.适配的映射器说白了就是Controller,78.由具体Controller执行,执行完返回ModelAndView,9通过ModelAndView去配置具体的视图解析器,10.视图解析器返回给前端调用,就是具体的要去展现哪个视图解析器。
1.用户发起请求(一一一一一一一一一一一一一一一一一一一一一一一一一一一)
http://localhost:8080/hello
2.web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
<!--1.注册DispatcherServlet-->
<!--二二二二二二二二二二二二二二二二二二二二-->
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!--关联一个springmvc的配置文件:【servlet-name】-servlet.xml-->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc-servlet.xml</param-value>
</init-param>
<!--启动级别-1-->
<load-on-startup>1</load-on-startup>
</servlet>
<!--/ 匹配所有的请求;(不包括.jsp)-->
<!--/* 匹配所有的请求;(包括.jsp)-->
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
3.springmvc-servlet.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"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<!--三三三三三三三三三三三三三三三三三三三三三三三三-->
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>
<!--六六六六六六六六六六六六六六六六六六六六六六六六-->
<!--视图解析器:DispatcherServlet给他的ModelAndView-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="InternalResourceViewResolver">
<!--前缀-->
<property name="prefix" value="/WEB-INF/jsp/"/>
<!--后缀-->
<property name="suffix" value=".jsp"/>
</bean>
<!--四四四四四四四四四四四四四四四四四四四四四四四-->
<!--Handler-->
<bean id="/hello" class="com.kuang.controller.HelloController"/>
</beans>
4.HelloController
//注意:这里我们先导入Controller接口
public class HelloController implements Controller {
/*五五五五五五五五五五五五五五五五五五五五五五五五五五五五五五五五五五*/
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
//ModelAndView 模型和视图
ModelAndView mv = new ModelAndView();
//封装对象,放在ModelAndView中。Model
mv.addObject("msg","HelloSpringMVC!,我是成博");
//封装要跳转的视图,放在ModelAndView中
mv.setViewName("hello"); //: /WEB-INF/jsp/hello.jsp
return mv;
}
}
5.hello.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Kuangshen</title>
</head>
<body>
<%--七七七七七七七七七七七七七七七七七七七七--%>
${msg}
</body>
</html>
6.响应到客户端结果(八八八八八八八八八八八八八八八八八八八八八)
转自狂神的博客
标签:return mvc框架 部署 流程 object startup dispatch log control
原文地址:https://www.cnblogs.com/zhuchengbo/p/12311935.html