自学内容网 自学内容网

【Spring篇】初始Spring MVC框架之Spring MVC入门程序编写

      🧸安清h:个人主页

  🎥个人专栏:【计算机网络】【Mybatis篇】【Spring篇】

🚦作者简介:一个有趣爱睡觉的intp,期待和更多人分享自己所学知识的真诚大学生。 


目录

🎯Spring MVC概述

🚦Spring MVC的核心特点

🎯Spring MVC入门程序

🚦创建项目

​编辑 🚦引入Maven依赖

​编辑 🚦配置前端服务器

🚦配置处理器映射信息和视图解析器

🚦创建处理器

🚦创建视图页面

🎯SpringMVC的核心类


🎯Spring MVC概述

Spring MVC是一个基于Java的实现了MVC(Model-View-Controller)设计模式的Web框架。它是Spring框架的一部分,专门用于构建Web应用程序。Spring MVC通过将应用程序分离成模型(Model)、视图(View)和控制器(Controller)三个核心组件,来帮助开发者构建可维护、可测试的Web应用程序。

🚦Spring MVC的核心特点

  1. 自动配置:在Spring Boot中,Spring MVC可以自动配置,大大简化了配置工作。

  2. 内容协商:Spring MVC支持内容协商,可以根据客户端的请求头来决定返回的数据格式,如JSON或XML。

  3. 模板引擎支持:Spring MVC支持多种模板引擎,如Thymeleaf、FreeMarker等,可以方便地生成动态内容。

  4. 过滤器支持:Spring MVC可以与Servlet过滤器(Filter)集成,提供额外的请求处理能力。

  5. 响应体和请求体处理:Spring MVC提供了@ResponseBody@RequestBody注解,可以轻松处理HTTP请求和响应的正文。

  6. 依赖注入:Spring MVC支持依赖注入(DI),可以轻松地将Spring管理的bean注入到控制器中。

  7. 轻量级:Spring MVC是一个轻量级的Web框架,它的核心库只包含实现MVC模式所需的最小集合。

  8. 强大的数据绑定:Spring MVC提供了强大的数据绑定机制,可以自动将请求参数绑定到控制器方法的参数上。

🎯Spring MVC入门程序

🚦创建项目

新建一个项目:

点击左上角File->Project Structure->Modules,点左上角‘+’,出现以下界面:

 点击图中标红框的Web标签,点击铅笔后出现以下界面:

将路径修改为src\main\webapp\WEB-INF\web.xml,修改后点击OK:

 然后在该界面的下方找到Web Resource Directory,同样点击小铅笔,将路径改为src\main\webapp:

点击OK后,创建项目成功,项目的目录结构如下图:

 🚦引入Maven依赖

    <packaging>war</packaging>
    <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.2.8.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>5.2.8.RELEASE</version>
        </dependency>
        <!-- 日志 -->
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <version>1.5.6</version>
            <scope>test</scope>
        </dependency>
        <!-- servlet依赖 -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
            <scope>provided</scope>
        </dependency>
        <!-- JSP-->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jsp-api</artifactId>
            <version>2.0</version>
            <scope>provided</scope>
        </dependency>
<!--        SPring5和Thymeleaf整合包-->
        <dependency>
            <groupId>org.thymeleaf</groupId>
            <artifactId>thymeleaf-spring5</artifactId>
            <version>3.0.11.RELEASE</version>
        </dependency>

    </dependencies>
<!--    以插件的形式配置tomcat服务器-->
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.tomcat.maven</groupId>
                <artifactId>tomcat7-maven-plugin</artifactId>
                <version>2.2</version>
                <configuration>
                    <port>8080</port>  <!--  端口号-->
                    <path>/SpringMvcTest</path>  <!-- 路径,以/开头-->
                </configuration>
            </plugin>
        </plugins>
    </build>

点击上方菜单栏的Run->Edit Configurations,出现以下界面,点击左上角的“+”,下拉选择Maven:

在Working directory输入项目在本地的路径,Command line中输入tomcat7:run,在此让项目在Tomcat中运行:

 🚦配置前端服务器

Spring MVC通过前端控制器拦截客户端的请求并进行转发。

在以下代码中的<servlet-class>中的部分,可以通过项目目录打开External Libraries->找到webmvc->打开spring-webmvc->打开web.servlet->找到DispatcherServlet->右键Copy Reference

在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">
<!--    配置SpringMVC前端控制器,对浏览器发送的请求进行统一处理-->
    <servlet>
        <servlet-name>SpringMVC_Test01</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!--        配置SpringMVC文件的位置和名称-->
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:spring-mvc.xml</param-value>
        </init-param>
 <!--        将前端控制器DispatcherServlet的初始化时间提前到服务器启动时-->
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>SpringMVC_Test01</servlet-name>
<!--        如果是/*,服务器内部跳转jsp的过程会被DispatcherServlet解析,当作Controller处理,所以使用/-->
        <!--        设置springMVC的核心控制器所能处理的请求的请求路径,
        /所匹配的请求可以是.html或.js或.css方式的请求路径,
        匹配不了.jsp请求路径的请求。
        /*代表的是所有请求-->
        <url-pattern>/</url-pattern>
    </servlet-mapping>
</web-app>

🚦配置处理器映射信息和视图解析器

在resources文件夹下创建Spring MVC的配置文件spring-mvc.xml,具体代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/aop
        http://www.springframework.org/schema/aop/spring-aop.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd">
    <!--配置Spring MVC要扫描的包-->
    <context:component-scan base-package="com.haust.controller"/>
    <!--    配置视图解析器-->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <!--  前缀  -->
        <property name="prefix" value="/WEB-INF/config/"/>
        <!--  后缀  -->
        <property name="suffix" value=".jsp"/>
    </bean>
</beans>

🚦创建处理器

在com.haust.controller包中创建FirstController类,用于处理客户端的请求并指定响应时跳转的页面,具体代码如下:

@Controller
public class FirstController {
    @RequestMapping("/")
    public String sayHello(){
        System.out.println("访问到FirstController");
        return "welcome";
    }
}

🚦创建视图页面

在webapp中的WEB-INF中新建包config,在包中新建文件welcome.jsp,具体代码如下:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<h2>Welcome</h2>
</body>
</html>

以上操作完成后,运行后的浏览器的跳转页面为:

🎯SpringMVC的核心类

DispatcherServlet是SpringMVC的核心类,也称为SpringMVC的前端控制器,可以拦截客户端的请求,它的本质上是一个Servlet,可以在文件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">
    <servlet>
        <servlet-name>SpringMVC</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <!--        配置SpringMVC配置文件的位置和名称-->
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:spring-mvc.xml</param-value>
        </init-param>
        <!--        将前端控制器DispatcherServlet的初始化时间提前到服务器启动时-->
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>SpringMVC</servlet-name>
        <!--        设置springMVC的核心控制器所能处理的请求的请求路径,
        /所匹配的请求可以是.html或.js或.css方式的请求路径,
        匹配不了.jsp请求路径的请求。
        /*代表的是所有请求-->
        <url-pattern>/</url-pattern>
    </servlet-mapping>
</web-app>

以上就是本期介绍的全部内容了,主要是关于初始SpringMVC。如果您感兴趣的话,可以订阅我的相关专栏。非常感谢您的阅读,如果这篇文章对您有帮助,那将是我的荣幸。我们下期再见啦🧸! 


原文地址:https://blog.csdn.net/m0_74202856/article/details/143161453

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!