Spring MVC 入门指南

Spring MVC 是 Spring 框架的一部分,用于构建基于 Java 的 Web 应用程序。它使用模型-视图-控制器(MVC)设计模式,将业务逻辑、数据访问和用户界面分离,使代码更易于维护和扩展。本文将介绍 Spring MVC 的基本概念和一个简单的示例,帮助你快速上手。

1. 基本概念

1.1 控制器(Controller)

控制器负责处理用户的请求并返回相应的视图。在 Spring MVC 中,控制器通常是一个带有 @Controller 注解的类。

1.2 模型(Model)

模型包含应用程序的数据和业务逻辑。在 Spring MVC 中,模型通常是一个普通的 Java 对象(POJO)。

1.3 视图(View)

视图负责呈现模型数据。在 Spring MVC 中,视图通常是 JSP、Thymeleaf 等模板引擎生成的页面。

2. 环境搭建

首先,我们需要创建一个 Maven 项目,并在 pom.xml 文件中添加 Spring MVC 的依赖:

<dependencies>
    <!-- Spring MVC -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>5.3.9</version>
    </dependency>
    <!-- Servlet API -->
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>4.0.1</version>
        <scope>provided</scope>
    </dependency>
    <!-- JSP -->
    <dependency>
        <groupId>javax.servlet.jsp</groupId>
        <artifactId>javax.servlet.jsp-api</artifactId>
        <version>2.3.3</version>
        <scope>provided</scope>
    </dependency>
</dependencies>

3. 配置 Spring MVC

接下来,我们需要配置 Spring MVC。可以通过 Java 配置类或 XML 配置文件来完成。这里我们使用 Java 配置类。

3.1 创建配置类

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import org.springframework.web.servlet.view.InternalResourceViewResolver;

@Configuration
@EnableWebMvc
@ComponentScan(basePackages = "com.example")
public class WebConfig implements WebMvcConfigurer {

    @Bean
    public InternalResourceViewResolver viewResolver() {
        InternalResourceViewResolver resolver = new InternalResourceViewResolver();
        resolver.setPrefix("/WEB-INF/views/");
        resolver.setSuffix(".jsp");
        return resolver;
    }
}

3.2 初始化 Spring MVC

web.xml 文件中配置 Spring MVC 的前端控制器:

<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" version="3.1"> <display-name>Spring MVC Example</display-name> <servlet> <servlet-name>dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/spring/dispatcher-config.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>dispatcher</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> </web-app>

4. 创建控制器

创建一个控制器类来处理请求:

<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" version="3.1">
    <display-name>Spring MVC Example</display-name>
    <servlet>
        <servlet-name>dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>/WEB-INF/spring/dispatcher-config.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
</web-app>

5. 创建视图

WEB-INF/views 目录下创建一个名为 hello.jsp 的文件:

package com.example.controller;

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

@Controller
public class HelloController {

    @RequestMapping("/hello")
    public String sayHello(Model model) {
        model.addAttribute("message", "Hello, Spring MVC!");
        return "hello"; // 返回视图名称
    }
}

6. 运行项目

部署并运行你的项目,然后在浏览器中访问 http://localhost:8080/your-app-context/hello,你应该会看到页面显示 "Hello, Spring MVC!"。

总结

通过以上步骤,你已经成功创建了一个简单的 Spring MVC 应用。这个示例展示了如何配置 Spring MVC、创建控制器和视图,以及处理请求。希望这篇文章能帮助你更好地理解和使用 Spring MVC。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值