Spring MVC入门看这篇就够了

一、三层架构和MVC

1、三层架构

在这里插入图片描述

2、MVC模型

MVC 全名是 Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,是一种用于设计创建 Web 应用程序表现层的模式。MVC 中每个部分各司其职:
Model(模型):通常指的就是我们的数据模型。作用一般情况下用于封装数据。
View(视图):通常指的就是我们的 jsp 或者 html。作用一般就是展示数据的。通常视图是依据模型数据创建的。
Controller(控制器):是应用程序中处理用户交互的部分。作用一般就是处理程序逻辑的。

3、观察者模式与 MVC

观察者模式:

  • 定义了对象之间一种一对多的依赖关系,让一个对象的改变能够影响其他对象
  • 发生改变的对象称为观察目标,被通知的对象称为观察者
  • 一个观察目标可以对应多个观察者
    在这里插入图片描述
    在这里插入图片描述

二、Spring MVC概述

Spring MVC官方文档

1、Spring MVC是什么

Spring Web MVC是在Servlet API上构建的原始Web框架,从一开始就包含在Spring框架中。其正式名称“Spring Web MVC”来源于其源模块Spring -webmvc的名称,但更常用的名称是“Spring MVC”。

2、Spring MVC 在三层架构的位置

在这里插入图片描述

3、Spring MVC 和 Struts2 的优略分析

在这里插入图片描述

三、Spring MVC入门案例

1、创建web工程,导入jar包

<!-- 版本锁定 -->
  <properties>
    <spring.version>5.0.2.RELEASE</spring.version>
  </properties>

  <dependencies>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-web</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>servlet-api</artifactId>
      <version>2.5</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>javax.servlet.jsp</groupId>
      <artifactId>jsp-api</artifactId>
      <version>2.0</version>
      <scope>provided</scope>
    </dependency>
  </dependencies>

2、编写index.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
    <a href="hello">入门程序链接</a>
</body>
</html>

3、 配置核心的控制器(配置DispatcherServlet)

在web.xml配置文件中核心控制器DispatcherServlet

<?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">

  <!-- Spring MVC的核心控制器-->
  <servlet>
    <servlet-name>dispatcherServlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <!--配置Servlet的初始化参数,读取Spring MVC的配置文件,创建Spring容器 -->
    <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath:springmvc.xml</param-value>
    </init-param>
    <!--表示容器在应用启动时就加载并初始化这个servlet-->
    <load-on-startup>1</load-on-startup>
  </servlet>

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

4、编写springmvc.xml的配置文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xmlns:context="http://www.springframework.org/schema/context"
       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
        http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context.xsd">

    <context:component-scan base-package="com.uos"></context:component-scan>

    <!--配置视图解析器-->
    <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/pages/"></property>
        <property name="suffix" value=".jsp"></property>
    </bean>
    <!--开启Spring MVC基于注解的支持-->
    <mvc:annotation-driven></mvc:annotation-driven>
</beans>

5、编写HelloController控制器类

@Controller
public class HelloController {

    @RequestMapping(value = "/hello")
    public String sayHello() {
        System.out.println("Hello Spring MVC!");
        return "success";
    }
}

6、 在WEB-INF目录下创建pages文件夹,编写success.jsp的成功页面

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>success</title>
</head>
<body>
    <h1>欢迎你的到来!</h1>
</body>
</html>

7、配置tomcat并运行

在这里插入图片描述

扫描二维码关注公众号,回复: 11205810 查看本文章

8、运行结果

在这里插入图片描述

四、入门案例分析

1、Spring MVC执行流程图

在这里插入图片描述

2、入门流程图

在这里插入图片描述

原创文章 154 获赞 48 访问量 8532

猜你喜欢

转载自blog.csdn.net/weixin_41842236/article/details/106141177