SpringMVC18_MVC简介2

一、SpringMVC概述

 SpringMVC是一种基于Java的实现MVC设计模型的请求驱动类型的轻量级Web框架,属于SpringFrameWork的后续产品,已经融合在Spring Web Flow 中。

 SpringMVC已经成为目前最主流的MVC框架之一,并且随着Spring3.0的发布,全面超越Struts2,成为最优秀的MVC框架。它通过一套注解,让一个简单的Java类成为处理请求的控制器,而无须实现任何接口。同时它还支持RESTful编程风格的请求。

 

二、SpringMVC快速入门

 需求:客户端发起请求,服务器端接收请求,执行逻辑并进行视图跳转。

 开发步骤:

  1. 导入SpringMVC相关坐标

  2. 配置SpringMVC核心控制器DispathcerServlet:前端控制器

  3. 创建Controller类和视图页面

  4. 使用注解配置Controller类中业务方法的映射地址

  5. 配置SpringMVC核心文件spring-mvc.xml

  6. 客户端发起请求测试

 代码实现:

  1. pom.xml导入Spring和SpringMVC的坐标、导入Servlet和Jsp的坐标

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.itheima</groupId>
    <artifactId>itheima_spring_mvc</artifactId>
    <version>1.0-SNAPSHOT</version>

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.13.2</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.2.22.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>3.1.0</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>jsp-api</artifactId>
            <version>2.2</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>5.2.22.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>5.2.22.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>5.2.22.RELEASE</version>
        </dependency>
    </dependencies>

</project>

  2. 在web.xml配置SpringMVC的核心控制器

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

    <!--配置SpringMVC的前端控制器-->
    <servlet>
        <servlet-name>DispatcherServlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:spring-mvc.xml</param-value>
        </init-param>
        <!--服务器启动时加载spring创建对象-->
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>DispatcherServlet</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

</web-app>

  3. 创建Controller和业务方法

package com.itheima.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

public class UserController {

    public String save(){
        System.out.println("Controller save running...");
        //返回跳转的视图
        return "success.jsp";
    }
}

  创建视图页面success.jsp

   

  4. 配置注解

package com.itheima.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class UserController {

    @RequestMapping("/quick")
    //访问quick时会映射到save方法,执行save逻辑
    public String save(){
        System.out.println("Controller save running...");
        //返回跳转的试图
        return "success.jsp";
    }
}

  5. 创建spring-mvc.xml

   

  6. 访问测试地址

   run tomcat,浏览器访问localhost:8080/quick,检查浏览器显示及控制台输出:

       

三、SpringMVC流程图示

 

  浏览器访问地址,地址请求Tomcat,Tomcat找工程,匹配到全局配置中的缺省的url-pattern,DispatcherServlet内部根据请求资源去解析找到对应的资源,找到UserController中的quick资源,访问save方法。

  前端控制器内部获得请求资源后,按照资源名称映射地址quick找到quick并执行方法。

  

四、知识要点

 SpringMVC的开发步骤

  1. 导入SpringMVC相关坐标

  2. 配置SpringMVC前端控制器DispathcerServlet,内部封装了共有行为

  3. 创建Controller类和视图页面

  4. 使用注解配置Controller及类中业务方法的映射地址:Controller放入Spring容器及把Controller内部的某个方法配成一个对应的映射资源

  5. 配置SpringMVC核心文件spring-mvc.xml:目前主要是扫描Controller

  6. 客户端发起请求测试

 

posted on 2023-05-09 19:46  花溪月影  阅读(9)  评论(0编辑  收藏  举报