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

相关推荐
CodeAmaz4 分钟前
Spring编程式事务详解
java·数据库·spring
没有bug.的程序员6 分钟前
微服务基础设施清单:必须、应该、可以、无需的四级分类指南
java·jvm·微服务·云原生·容器·架构
武子康9 分钟前
Java-204 RabbitMQ Connection/Channel 工作流程:AMQP 发布消费、抓包帧结构与常见坑
java·分布式·消息队列·rabbitmq·ruby·java-activemq
郑州光合科技余经理10 分钟前
海外国际版同城服务系统开发:PHP技术栈
java·大数据·开发语言·前端·人工智能·架构·php
Access开发易登软件19 分钟前
Access开发实战:绘制漏斗图实现业务转化分析
数据库·信息可视化·html·vba·图表·access
appearappear21 分钟前
Mac 上重新安装了Cursor 2.2.30,重新配置 springboot 过程记录
java·spring boot·后端
CryptoRzz29 分钟前
日本股票 API 对接实战指南(实时行情与 IPO 专题)
java·开发语言·python·区块链·maven
程序员水自流32 分钟前
MySQL数据库自带系统数据库功能介绍
java·数据库·mysql·oracle
谷哥的小弟36 分钟前
Spring Framework源码解析——RequestContext
java·后端·spring·框架·源码
天远Date Lab42 分钟前
Java微服务实战:聚合型“全能小微企业报告”接口的调用与数据清洗
java·大数据·python·微服务