微信登录

控制器 - 控制器定义 - 创建控制器类

Java - Web - Spring 《控制器 - 控制器定义 - 创建控制器类》

在 Java Web 开发中,Spring 框架是一个强大且广泛使用的工具。其中,控制器(Controller)在 MVC(Model - View - Controller)架构中扮演着至关重要的角色,它负责接收客户端的请求,处理请求并返回相应的结果。本文将详细介绍如何在 Spring 中定义和创建控制器类。

什么是控制器

在 Spring 框架里,控制器是处理客户端请求的核心组件。它接收来自客户端的请求,根据请求的信息调用相应的业务逻辑,然后将处理结果返回给客户端。控制器就像是一个调度员,协调着整个 Web 应用的运行。

创建控制器类的步骤

1. 添加 Spring 依赖

首先,你需要在项目中添加 Spring 相关的依赖。如果你使用的是 Maven 项目,可以在 pom.xml 中添加以下依赖:

  1. <dependencies>
  2. <!-- Spring Web -->
  3. <dependency>
  4. <groupId>org.springframework</groupId>
  5. <artifactId>spring-webmvc</artifactId>
  6. <version>5.3.23</version>
  7. </dependency>
  8. </dependencies>

2. 配置 Spring MVC

在 Spring 中,你可以通过 Java 配置类或者 XML 配置文件来配置 Spring MVC。这里我们使用 Java 配置类的方式:

  1. import org.springframework.context.annotation.Bean;
  2. import org.springframework.context.annotation.ComponentScan;
  3. import org.springframework.context.annotation.Configuration;
  4. import org.springframework.web.servlet.config.annotation.EnableWebMvc;
  5. import org.springframework.web.servlet.view.InternalResourceViewResolver;
  6. @Configuration
  7. @EnableWebMvc
  8. @ComponentScan(basePackages = "com.example.controller")
  9. public class WebConfig {
  10. @Bean
  11. public InternalResourceViewResolver viewResolver() {
  12. InternalResourceViewResolver resolver = new InternalResourceViewResolver();
  13. resolver.setPrefix("/WEB-INF/views/");
  14. resolver.setSuffix(".jsp");
  15. return resolver;
  16. }
  17. }

上述代码中,@Configuration 注解表示这是一个配置类,@EnableWebMvc 注解启用 Spring MVC 的功能,@ComponentScan 注解指定要扫描的控制器类所在的包。InternalResourceViewResolver 用于解析视图。

3. 创建控制器类

现在,我们可以创建一个简单的控制器类了。控制器类需要使用 @Controller 注解进行标注,这样 Spring 才能识别它是一个控制器。

  1. import org.springframework.stereotype.Controller;
  2. import org.springframework.ui.Model;
  3. import org.springframework.web.bind.annotation.GetMapping;
  4. @Controller
  5. public class HelloController {
  6. @GetMapping("/hello")
  7. public String sayHello(Model model) {
  8. model.addAttribute("message", "Hello, Spring MVC!");
  9. return "hello";
  10. }
  11. }

在上述代码中,@Controller 注解将 HelloController 类标记为控制器。@GetMapping("/hello") 注解表示该方法处理 HTTP GET 请求,请求路径为 /helloModel 对象用于向视图传递数据,这里我们添加了一个名为 message 的属性,值为 Hello, Spring MVC!。方法返回的字符串 hello 表示视图的名称,Spring 会根据视图解析器的配置找到对应的 JSP 文件。

4. 创建视图文件

WEB-INF/views 目录下创建 hello.jsp 文件:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>Hello Spring MVC</title>
  5. </head>
  6. <body>
  7. <h1>${message}</h1>
  8. </body>
  9. </html>

5. 启动应用

最后,你需要启动 Spring 应用。可以使用嵌入式服务器(如 Tomcat)或者将应用部署到外部服务器上。当你访问 http://localhost:8080/hello 时,就会看到页面显示 Hello, Spring MVC!

总结

步骤 描述
添加依赖 在项目中添加 Spring Web MVC 依赖
配置 Spring MVC 使用 Java 配置类或 XML 配置文件配置 Spring MVC
创建控制器类 使用 @Controller 注解标注类,使用 @GetMapping 等注解处理请求
创建视图文件 根据控制器返回的视图名称创建相应的 JSP 或其他视图文件
启动应用 启动 Spring 应用并访问相应的 URL

通过以上步骤,你就可以在 Spring 中定义和创建控制器类了。控制器类是 Spring Web 应用的核心组件之一,它帮助我们处理客户端请求,实现业务逻辑和视图的分离。希望本文能对你有所帮助!

控制器 - 控制器定义 - 创建控制器类