什么是SpringMVC

发布时间:2023年12月21日

系列文章目录

提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
SpringMVC之参数获取


提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

提示:这里可以添加本文要记录的大概内容:

在当今的 Java Web 开发领域,Spring MVC 框架已经成为了一种非常流行和广泛使用的 Web 框架。它是 Spring 框架的一部分,提供了一种基于模型-视图-控制器(MVC)架构模式的轻量级 Web 应用程序开发框架。
Spring MVC 框架的目标是使 Web 开发更加简单、高效和可维护。它提供了一个分层的架构,将应用程序的不同组件(模型、视图和控制器)分离开来,使得开发人员可以更加专注于每个组件的开发。
通过使用 Spring MVC,开发人员可以利用 Spring 框架的强大功能,如依赖注入(DI)和面向方面编程(AOP),来管理应用程序的复杂性。它还提供了一些内置的功能,如表单处理、验证、拦截器和国际化支持,大大简化了 Web 应用程序的开发过程。
总的来说,Spring MVC 框架是一个非常优秀和成熟的 Web 框架,它为开发人员提供了一种简洁、灵活和高效的方式来构建 Web 应用程序。如果你正在学习或计划使用 Java 进行 Web 开发,那么 Spring MVC 绝对是一个值得学习和掌握的框架。
在接下来的博客文章中,我将深入探讨 Spring MVC 的各个方面,包括其核心概念、工作原理、配置和使用示例。希望这些内容能够帮助你更好地理解和使用 Spring MVC 框架,从而提高你的 Web 开发技能。让我们一起开始探索 Spring MVC 的精彩世界吧!


提示:以下是本篇文章正文内容,下面案例可供参考

一、概念

MVC全称Model View Controller,是一种设计创建Web应用程序的模式。这三个单词分别代表Web应用程序的三个部分:

  • Model(模型):指数据模型。用于存储数据以及处理用户请求的业务逻辑。在Web应用中,JavaBean对象,业务模型等都属于Model。
  • View(视图):用于展示模型中的数据的,一般为jsp或html文件。
  • Controller(控制器):是应用程序中处理用户交互的部分。接受视图提出的请求,将数据交给模型处理,并将处理后的结果交给视图显示。

SpringMVC是一个基于MVC模式的轻量级Web框架,是Spring框架的一个模块,和Spring可以直接整合使用。SpringMVC代替了Servlet技术,它通过一套注解,让一个简单的Java类成为处理请求的控制器,而无须实现任何接口。

二、SpringMVC执行流程

  1. 用户发送请求:用户通过浏览器向服务器发送请求,请求中包含了请求的 URL、请求方法、请求参数等信息。
  2. DispatcherServlet 接收请求:SpringMVC 的核心组件 DispatcherServlet 会接收用户的请求,并根据请求的 URL 映射到相应的 Controller。
  3. Controller 处理请求:Controller 会根据请求的信息执行相应的业务逻辑,并返回一个 ModelAndView 对象,其中包含了要渲染的视图和模型数据。
  4. 视图渲染: DispatcherServlet 会根据 ModelAndView 对象中的视图信息,选择相应的视图渲染引擎来渲染视图,并将模型数据传递给视图。
  5. 响应返回:渲染后的视图会被返回给用户,用户可以在浏览器中看到相应的页面。

三、使用SpringMVC的环境准备

1.使用maven创建web项目,补齐包结构,引入相关依赖

<dependencies>
  <!-- Spring核心模块 -->
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>5.2.12.RELEASE</version>
  </dependency>
  <!-- SpringWeb模块 -->
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-web</artifactId>
    <version>5.2.12.RELEASE</version>
  </dependency>
  <!-- SpringMVC模块 -->
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>5.2.12.RELEASE</version>
  </dependency>
  <!-- Servlet -->
  <dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>servlet-api</artifactId>
    <version>2.5</version>
    <scope>provided</scope>
  </dependency>
  <!-- JSP -->
  <dependency>
    <groupId>javax.servlet.jsp</groupId>
    <artifactId>jsp-api</artifactId>
    <version>2.0</version>
    <scope>provided</scope>
  </dependency>
</dependencies>


<build>
  <plugins>
    <!-- tomcat插件 -->
    <plugin>
      <groupId>org.apache.tomcat.maven</groupId>
      <artifactId>tomcat7-maven-plugin</artifactId>
      <version>2.1</version>
      <configuration>
        <port>8080</port>
        <path>/</path>
        <uriEncoding>UTF-8</uriEncoding>
        <server>tomcat7</server>
        <systemProperties>
          <java.util.logging.SimpleFormatter.format>%1$tH:%1$tM:%1$tS %2$s%n%4$s: %5$s%6$s%n
          </java.util.logging.SimpleFormatter.format>
        </systemProperties>
      </configuration>
    </plugin>
  </plugins>
</build>

2.在web.xml中配置前端控制器DispatcherServlet。

<web-app>
  <display-name>Archetype Created Web Application</display-name>
  <!--SpringMVC前端控制器,本质是一个Servlet,接收所有请求,在容器启动时就会加载-->
  <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:springmvc.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>dispatcherServlet</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>
</web-app>

3.编写SpringMVC核心配置文件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="填写自己的基础包路径"/>
  <!-- 开启SpringMVC注解的支持 -->
  <mvc:annotation-driven/>
</beans>


总结

提示:这里对文章进行总结:

通过学习 SpringMVC,我们可以使用它来构建高效、可维护的 Web 应用程序。本篇博客就介绍到这,如果还想了解更多SpringMVC的博客,请点击博主主页寻找,更多SpringMVC的细节等待你的探索。

文章来源:https://blog.csdn.net/liubopro666/article/details/135138376
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。