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 还有很多强大的功能和特性,需要我们不断地学习和探索。

相关推荐
阿龟在奔跑1 小时前
引用类型的局部变量线程安全问题分析——以多线程对方法局部变量List类型对象实例的add、remove操作为例
java·jvm·安全·list
飞滕人生TYF1 小时前
m个数 生成n个数的所有组合 详解
java·递归
代码小鑫1 小时前
A043-基于Spring Boot的秒杀系统设计与实现
java·开发语言·数据库·spring boot·后端·spring·毕业设计
猫爪笔记1 小时前
前端:HTML (学习笔记)【1】
前端·笔记·学习·html
真心喜欢你吖1 小时前
SpringBoot与MongoDB深度整合及应用案例
java·spring boot·后端·mongodb·spring
激流丶1 小时前
【Kafka 实战】Kafka 如何保证消息的顺序性?
java·后端·kafka
周全全1 小时前
Spring Boot + Vue 基于 RSA 的用户身份认证加密机制实现
java·vue.js·spring boot·安全·php
uzong2 小时前
一个 IDEA 老鸟的 DEBUG 私货之多线程调试
java·后端
AiFlutter2 小时前
Java实现简单的搜索引擎
java·搜索引擎·mybatis
飞升不如收破烂~3 小时前
Spring boot常用注解和作用
java·spring boot·后端