你知道目前最流行的SpringMVC框架吗?应该如何搭建呢?

Spring MVC(全称 Spring Web MVC)是 Spring 框架提供的一款基于 MVC 模式的轻量级 Web 开发框架,是 Spring 为表示层(UI)开发提供的一整套完备的解决方案。

注:三层架构分为表示层(UI)、业务逻辑层(BLL)、数据访问层(DAL),表示层则包含前台页面和后台 Servlet。

Spring MVC 使用 MVC 架构模式的思想,将 Web 应用进行职责解构,把一个复杂的 Web 应用划分成模型(Model)、控制器(Contorller)以及视图(View)三层,有效地简化了 Web 应用的开发,降低了出错风险,同时也方便了开发人员之间的分工配合。

Spring MVC 各层的职责如下:

  • Model:负责对请求进行处理,并将结果返回给 Controller;
  • View:负责将请求的处理结果进行渲染,展示在客户端浏览器上;
  • Controller:是 Model 和 View 交互的纽带;主要负责接收用户请求,并调用 Model 对请求处理,然后将 Model 的处理结果传递给 View。

Spring MVC 本质是对 Servlet 的进一步封装,其最核心的组件是 DispatcherServlet,它是 Spring MVC 的前端控制器,主要负责对请求和响应的统一地处理和分发。Controller 接收到的请求其实就是 DispatcherServlet 根据一定的规则分发给它的。

Spring MVC 框架内部采用松耦合、可插拔的组件结构,具有高度可配置性,比起其他的 MVC 框架更具有扩展性和灵活性。此外,Spring MVC 的注解驱动(annotation-driven)和对 REST 风格的支持,也是它最具有特色的功能。

Spring MVC 是 Spring 框架的众多子项目之一,自 Spring 框架诞生之日起就包含在 Spring 框架中了,它可以与 Spring 框架无缝集成,在性能方面具有先天的优越性。对于开发者来说,Spring MVC 的开发效率要明显高于其它的 Web 框架,因此 Spring MVC 在企业中得到了广泛的应用,成为目前业界最主流的 MVC 框架之一。

Spring MVC 的常用组件

Spring MVC 的常用组件如下表:

组件 提供者 描述
DispatcherServlet 框架提供 前端控制器,它是整个 Spring MVC 流程控制中心,负责统一处理请求和响应,调用其他组件对用户请求进行处理。
HandlerMapping 框架提供 处理器映射器,根据请求的 url、method 等信息查找相应的 Handler。
Handler 开发人员提供 处理器,通常被称为 Controller(控制器)。它可以在 DispatcherServlet 的控制下,对具体的用户请求进行处理。
HandlerAdapter 框架提供 处理器适配器,负责调用具体的控制器方法,对用户发来的请求来进行处理。
ViewResolver 框架提供 视图解析器,其职责是对视图进行解析,得到相应的视图对象。常见的视图解析器有 ThymeleafViewResolver、InternalResourceViewResolver 等。
View 开发人员提供 视图,它作用是将模型(Model)数据通过页面展示给用户。

Spring MVC 的特点

Spring MVC 具有以下特点:

  • Spring MVC 是 Spring 家族原生产品,可以与 IoC 容器等 Spring 基础设施无缝对接;
  • Spring MVC 支持各种视图技术,例如 JSP、Thymeleaf、 JSP 和 FreeMaker 等。
  • Spring MVC 基于原生的 Servlet 实现,通过功能强大的前端控制器 DispatcherServlet,对请求和响应进行统一处理;
  • Spring MVC 对表示层各细分领域需要解决的问题全方位覆盖,并提供一整套全面的解决方案;
  • 代码清新简洁,大幅度提升开发效率;
  • 内部组件化程度高,可插拔式组件即插即用,想要使用什么功能,配置相应组件即可;
  • 性能卓著,尤其适合现代大型、超大型互联网项目的开发。

那么应该如何搭建Spring MVC框架呢?

包括配置环境、创建项目、配置框架等。

一、环境配置

在开始之前,确保已经完成以下环境配置:

  1. 安装Java开发工具包(JDK):确保电脑上已经安装了JDK,并正确配置了JAVA_HOME环境变量。
  2. 安装Java开发工具(IDE):可以选择Eclipse、IntelliJ IDEA等Java开发工具作为IDE。
  3. 下载Spring MVC框架:可以从Spring官方网站(https://spring.io )下载最新版本的SpringMVC框架。

二、创建项目

接下来,我们将创建一个新的Java项目来搭建Spring MVC框架。

  1. 打开IDE,并创建一个新的Java项目。
  2. 在项目中创建一个名为"lib"的文件夹,用于存放框架的JAR文件。
  3. 将从Spring官方网站下载的Spring MVC框架的JAR文件复制到"lib"文件夹中。

三、配置框架

现在,我们将配置Spring MVC框架。

1、在项目中创建一个名为"WEB-INF"的文件夹,用于存放Web应用程序的配置文件。

2、在"WEB-INF"文件夹中创建一个名为"web.xml"的文件,用于配置Servlet和其他Web应用程序设置。以下是一个基本的"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">

    <!-- 配置DispatcherServlet -->
    <servlet>
        <servlet-name>springmvc</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>/WEB-INF/applicationContext.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"的servlet,并将其映射到根URL("/")。我们还通过contextConfigLocation参数指定了Spring MVC的配置文件位置。

3、在"WEB-INF"文件夹中创建一个名为"applicationContext.xml"的文件,用于配置Spring MVC框架的相关设置。以下是一个基本的"applicationContext.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"
       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/context
                           http://www.springframework.org/schema/context/spring-context.xsd">

    <!-- 启用Spring MVC注解驱动 -->
    <context:annotation-config/>
    <context:component-scan base-package="com.example"/>

    <!-- 配置视图解析器 -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/views/"/>
        <property name="suffix" value=".jsp"/>
    </bean>

</beans>

在上述示例中,我们通过context:annotation-config启用了Spring MVC的注解驱动,并使用context:component-scan指定了需要扫描的基础包。我们还配置了一个视图解析器InternalResourceViewResolver,用于解析JSP视图。

4、在"WEB-INF"文件夹中创建一个名为"views"的文件夹,用于存放JSP视图文件。

四、创建Controller

现在,我们将创建一个简单的控制器来处理用户请求。

1、在项目中创建一个名为"com.example"的包。

2、在"com.example"包中创建一个名为"HomeController.java"的类,作为我们的控制器。以下是一个基本的控制器示例:

package com.example;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;

@Controller
public class HomeController {

    @RequestMapping(value = "/", method = RequestMethod.GET)
    public ModelAndView home() {
        ModelAndView modelAndView = new ModelAndView("home");
        modelAndView.addObject("message", "Hello, Spring MVC!");
        return modelAndView;
    }
}

在上述示例中,我们使用@Controller注解标记了该类为控制器。通过@RequestMapping注解,我们指定了处理根URL("/")的GET请求,并返回一个包含视图名和模型数据的ModelAndView对象。

五、创建视图

最后,我们将创建一个简单的JSP视图来显示响应。

在"views"文件夹中创建一个名为"home.jsp"的文件。以下是一个基本的JSP视图示例:

<!DOCTYPE html>
<html>
<head>
    <title>Spring MVC Example</title>
</head>
<body>
    <h1>${message}</h1>
</body>
</html>

在上述示例中,我们使用${message}来展示从控制器传递过来的数据。

六、部署和运行

完成以上步骤后,就可以按照以下步骤部署和运行Spring MVC应用程序:

  1. 将项目部署到Web服务器(如Tomcat)中。将整个项目目录打包为WAR文件,然后将WAR文件部署到Web服务器的webapps目录下。
  2. 启动Web服务器。根据使用的Web服务器不同,启动命令可能有所不同。
  3. 在Web浏览器中访问应用程序。使用URL http://localhost:8080/(根据Web服务器配置)来访问应用程序的根URL。

当访问应用程序的根URL时,将会触发HomeController中定义的home()方法。该方法将返回"home"视图,并将"Hello, Spring MVC!"作为模型数据传递给视图。视图将显示该消息。

通过以上步骤,就成功搭建了一个简单的Spring MVC框架,并创建了一个处理请求和展示响应的控制器和视图。

需要注意的是,以上只是一个基本的Spring MVC框架搭建过程。在实际应用中,可能还涉及到更多的配置和功能,如数据持久化、表单处理、拦截器等。Spring MVC提供了丰富的功能和扩展点,能够构建复杂的Web应用程序。

黑马程序员SSM框架教程_Spring+SpringMVC+Maven高级+SpringBoot+MyBatisPlus企业实用开发技术

猜你喜欢

转载自blog.csdn.net/Itmastergo/article/details/132017062
今日推荐