【Spring】SpringMVC的基础你不得不看

发布时间:2024年01月16日

三层架构

  1. 咱们开发服务器端程序,一般都基于两种形式,一种C/S架构程序,一种B/S架构程序
  2. 使用Java语言基本上都是开发B/S架构的程序,B/S架构又分成了三层架构
  3. 三层架构
    1. 表现层:WEB层,用来和客户端进行数据交互的。表现层一般会采用MVC的设计模型
    2. 业务层:处理公司具体的业务逻辑的
    3. 持久层:用来操作数据库的

MVC模型

  1. MVC全名是Model View Controller 模型视图控制器,每个部分各司其职。
  2. Model:数据模型,JavaBean的类,用来进行数据封装。
  3. View:指JSP、HTML用来展示数据给用户
  4. Controller:用来接收用户的请求,整个流程的控制器。用来进行数据校验等。

第一个SpringMVC 应用

  1. 创建项目引入jar包
  2. 配置前端控制器
<?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_3_0.xsd"
         version="3.0">

    <servlet>
        <servlet-name>SpringMVC</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:springmvc-servlet.xml</param-value>
        </init-param>
        <!--启动加载-->
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>SpringMVC</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
</web-app>

详解:主要对和元素进行了配置

中,配置了SpringMVC的前端控制器DispatcherServlet

并通过子元素配置了SpringMVC的配置文件位置

元素的1表示容器在启动时立即加载这个Servlet

元素中 /会将所有URL拦截,并交给DispatcherServlet

  1. 创建Controller


public class FirstController implements Controller{

    @Override
    public ModelAndView handleRequest(HttpServletRequest req, HttpServletResponse resp) throws Exception {
        ModelAndView mv=new ModelAndView();
        mv.addObject("msg","冉雨珊?张宇");
        mv.setViewName("/index");
        return mv;
    }
    
    

}
  1. 创建SpringMVC的配置文件,配置映射器映射信息
<?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-4.3.xsd">

    <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean>
    <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"></bean>

    <!--视图解析器:DispatcherServlet给他的ModelAndivew-->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="internalResourceView">
        <!--前缀-->
        <property name="prefix" value="/WEB-INF/jsp/" />
        <!--前缀-->
        <property name="suffix" value=".jsp"/>
    </bean>
    
    <!-- 配置处理器 -->
    <bean name="/firstController" class="com.aqiuo.mc.controller.FirstController"></bean>

</beans>
  1. 创建视图(View)页面
  2. 启动测试

SpringMVC的工作流程

执行流程:

  1. 用户通过浏览器向服务器发送请求,请求会被SpringMVC的前端控制器DispatcherServlet所拦截
  2. DispatcherServlet拦截请求后,会调用HandlerMapping处理器映射器。
  3. 处理器映射器根据请求URL找到具体的处理器,生成处理器对象和处理器拦截器,一并返回给DispatcherServlet
  4. DispatcherServlet会根据信息,合适的选择HandlerAdapter
  5. HandlerAdapter会调用并执行Handler,这个的处理器指的是程序中编写的Controller类,也被称为后端控制器
  6. Controller执行完后会返回一个ModelAndView对象,该对象中会包含视图名或包含模型和视图名
  7. HandlerAdapter将ModelAndView对象返回给DispatcherServlet
  8. DispatcherServlet会根据ModelAndView对象选择一个合适的ViewReslover(视图解析器)
  9. ViewReslover解析后,会向DispatcherServlet中返回具体的View(视图)
  10. DispatcherServlet对View进行渲染,
  11. 视图渲染后的结果会返回给客户端浏览器显示

入门案例的执行流程

  1. 当启动Tomcat服务器的时候,因为配置了load-on-startup标签,所以会创建DispatcherServlet对象,就会加载springmvc.xml配置文件
  2. 开启了注解扫描,那么HelloController对象就会被创建
  3. 从index.jsp发送请求,请求会先到达DispatcherServlet核心控制器,根据配置@RequestMapping注解找到执行的具体方法
  4. 根据执行方法的返回值,再根据配置的视图解析器,去指定的目录下查找指定名称的JSP文件
  5. Tomcat服务器渲染页面,做出响应

入门案例中的组件分析

  1. 前端控制器(DispatcherServlet)
  2. 处理器映射器(HandlerMapping)
  3. 处理器(Handler)
  4. 处理器适配器(HandlAdapter)
  5. 视图解析器(View Resolver)
  6. 视图(View)
文章来源:https://blog.csdn.net/m0_62645012/article/details/135624856
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。