SpringMVC 入门案例详解

文章目录

在当今的 Java Web 开发中,SpringMVC 是一个非常强大且广泛使用的框架。它提供了一种清晰的 MVC(Model-View-Controller)架构模式,使得开发高效、可维护的 Web 应用变得更加容易。本文将详细介绍一个 SpringMVC 的入门案例,包括创建 Maven 工程以及配置 web.xml

一、准备工作

  1. 安装开发工具:确保你已经安装了 Java Development Kit(JDK)和一个集成开发环境(IDE),如 IntelliJ IDEA 或 Eclipse。
  2. 了解 Maven:Maven 是一个项目管理工具,它可以帮助我们管理项目的依赖、构建过程等。如果你对 Maven 不熟悉,可以先学习一下 Maven 的基本概念和用法。

二、创建 Maven 工程

  1. 在 IDE 中创建项目
    • 在 IntelliJ IDEA 中,可以通过"File"->"New"->"Project",然后选择"Maven"来创建一个新的 Maven 工程。
    • 在 Eclipse 中,可以通过"File"->"New"->"Maven Project"来创建。
  2. 设置项目信息
    • 输入项目的 GroupId、ArtifactId 和 Version 等信息。这些信息将用于标识你的项目。
    • GroupId 通常是项目的组织或公司的名称,ArtifactId 是项目的名称,Version 是项目的版本号。
  3. 等待项目创建完成 :IDE 会自动生成一个基本的 Maven 项目结构,包括src/main/javasrc/main/resourcessrc/test/java等目录。

三、添加 SpringMVC 依赖

  1. 打开 pom.xml 文件:这是 Maven 项目的配置文件,用于管理项目的依赖。
  2. 添加 SpringMVC 依赖 :在<dependencies>标签中添加以下依赖:
xml 复制代码
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>5.3.23</version>
</dependency>

这个依赖将引入 SpringMVC 的核心库。

四、配置web.xml

  1. 打开web.xml文件:这个文件是 Web 应用的配置文件,用于配置 Servlet、过滤器等。
  2. 配置 DispatcherServlet
xml 复制代码
<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>dispatcherServlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>/WEB-INF/springmvc-servlet.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>

上述配置中:

  • 定义了一个名为dispatcherServlet的 Servlet,它的类是org.springframework.web.servlet.DispatcherServlet
  • 通过<init-param>标签指定了 SpringMVC 的配置文件为/WEB-INF/springmvc-servlet.xml
  • 通过<servlet-mapping>标签将dispatcherServlet映射到所有的 URL 路径。

五、创建 SpringMVC 配置文件

  1. WEB-INF目录下创建springmvc-servlet.xml文件:这个文件是 SpringMVC 的配置文件,用于配置视图解析器、处理器映射等。
  2. 配置视图解析器
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"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       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
       http://www.springframework.org/schema/mvc
       http://www.springframework.org/schema/mvc/spring-mvc.xsd">

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

    <mvc:annotation-driven/>

    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/views/"/>
        <property name="suffix" value=".jsp"/>
    </bean>

</beans>

上述配置中:

  • 通过<context:component-scan>标签扫描com.example.controller包下的所有带有@Controller注解的类,将它们注册为 Spring 的 Bean。
  • 通过<mvc:annotation-driven/>启用 SpringMVC 的注解驱动,以便使用@RequestMapping等注解。
  • 配置了一个视图解析器InternalResourceViewResolver,它将视图名称解析为/WEB-INF/views/目录下的 JSP 文件。

六、创建控制器

  1. com.example.controller包下创建一个控制器类
java 复制代码
package com.example.controller;

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

@Controller
public class HelloController {

    @RequestMapping("/hello")
    public String hello() {
        return "hello";
    }

}

上述代码中:

  • 使用@Controller注解将这个类标记为一个控制器。
  • 使用@RequestMapping注解将/hello路径映射到hello()方法。这个方法返回一个视图名称hello,视图解析器将其解析为/WEB-INF/views/hello.jsp文件。

七、创建视图

  1. WEB-INF/views目录下创建hello.jsp文件
html 复制代码
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Hello World</title>
</head>
<body>
Hello, SpringMVC!
</body>
</html>

八、测试应用

  1. 部署应用到服务器:可以将应用部署到本地的 Tomcat 服务器或其他 Web 服务器上。
  2. 访问应用 :在浏览器中输入http://localhost:8080/项目名称/hello,如果一切配置正确,你应该能够看到"Hello, SpringMVC!"的页面。

通过以上步骤,我们成功地创建了一个简单的 SpringMVC 入门案例。这个案例展示了如何使用 Maven 创建项目、添加 SpringMVC 依赖、配置web.xml和创建控制器等基本操作。在实际的开发中,SpringMVC 还有很多强大的功能和特性,需要我们不断地学习和探索。

相关推荐
腥臭腐朽的日子熠熠生辉24 分钟前
解决maven失效问题(现象:maven中只有jdk的工具包,没有springboot的包)
java·spring boot·maven
ejinxian25 分钟前
Spring AI Alibaba 快速开发生成式 Java AI 应用
java·人工智能·spring
杉之31 分钟前
SpringBlade 数据库字段的自动填充
java·笔记·学习·spring·tomcat
圈圈编码1 小时前
Spring Task 定时任务
java·前端·spring
俏布斯1 小时前
算法日常记录
java·算法·leetcode
27669582921 小时前
美团民宿 mtgsig 小程序 mtgsig1.2 分析
java·python·小程序·美团·mtgsig·mtgsig1.2·美团民宿
爱的叹息1 小时前
Java 连接 Redis 的驱动(Jedis、Lettuce、Redisson、Spring Data Redis)分类及对比
java·redis·spring
前端Hardy1 小时前
HTML&CSS:超丝滑的动态导航菜单
javascript·css·html
前端Hardy1 小时前
HTML&CSS:你绝对没见过的input输入框,确定不看看吗
javascript·css·html
前端Hardy1 小时前
HTML&CSS:不一样的开关效果
javascript·css·html