在 Eclipse/Spring Tool Suite 中创建并运行您的第一个 Spring MVC 控制器
Spring MVC 框架支持模型、视图和控制器等模块的分离,并无缝处理应用程序集成。这使开发人员也可以使用普通的Java类来创建复杂的应用程序。模型对象可以使用映射在视图和控制器之间传递。在本文中,我们将了解如何在 Eclipse IDE 中设置 Spring MVC 应用程序并了解如何制作应用程序。 Spring MVC 框架由以下组件组成:
- 模型:模型可以是一个对象或对象的集合,基本上包含应用程序的数据。
- 视图:视图用于以特定格式向用户显示信息。 Spring 支持各种技术,例如 freemarker、velocity 和 thymeleaf。
- 控制器:它包含应用程序的逻辑部分。 @Controller 注解用于将该类标记为控制器。
- 前端控制器:它仍然负责管理 Web 应用程序的流程。 DispatcherServlet 充当 Spring MVC 中的前端控制器。
这里将在 Spring Tool Suite IDE 中创建我们的第一个 Spring MVC 控制器。
Requirements:
- Eclipse (EE version)/STS IDE
- Spring JAR Files
- Tomcat Apache latest version
执行:
下面逐步说明如下:
Note: We are going to use Spring Tool Suite 4 IDE for this project. Please refer to this article to install STS in your local machine How to Download and Install Spring Tool Suite (Spring Tools 4 for Eclipse) IDE?
第 1 步:在您的 STS IDE 中创建一个动态 Web 项目。您可以参考这篇文章在 STS 中创建动态 Web 项目:如何在 Spring Tool Suite 中创建动态 Web 项目?
第 2 步:从此链接下载 spring JAR 文件,然后转到src > main > webapp > WEB-INF > lib文件夹并通过这些 JAR 文件。
第 3 步:配置 Apache Tomcat 服务器并使用应用程序配置Tomcat 服务器。现在我们准备好了。
配置 Dispatcher Servlet
请参考这篇文章什么是 Spring 中的 Dispatcher Servlet?并阅读有关 Dispatcher Servlet 的更多信息,这是一个非常重要的概念。现在我们将使用我们的 Spring MVC 应用程序配置 Dispatcher Servlet。
第 4 步:转到src > main > webapp > WEB-INF > web.xml文件
文件:web.xml
XML
myfirst-mvc-project
index.html
index.jsp
index.htm
default.html
default.jsp
default.htm
frontcontroller-dispatcher
org.springframework.web.servlet.DispatcherServlet
1
frontcontroller-dispatcher
/student.com/*
XML
Java
// Java Program to Illustrate DemoController Class
package com.student.controllers;
// Importing required classes
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
// Annotation
@Controller
// Class
public class DemoController {
// Annotation
@ResponseBody
@RequestMapping("/hello")
// Method
public String helloWorld()
{
return "Hello World!";
}
}
XML
第 5 步:现在转到src > main > webapp > WEB-INF并创建一个 XML 文件。实际上,这是一个 Spring 配置文件,如 beans.xml 文件。并且文件名必须是这种格式
YourServletName-servlet.xml
例如,对于这个项目,文件的名称必须是
frontcontroller-dispatcher-servlet.xml
因此,您可以创建一个 Spring 配置文件,也可以只创建一个简单的 XML 文件,在该文件中添加以下代码行。
文件:frontcontroller-dispatcher-servlet.xml
XML
创建第一个 Spring MVC 控制器
第 6 步:现在,让我们创建一些控制器。转到 src/main/ Java并根据您的选择创建一个新的控制器包(例如 com.student.controllers)。并在其中创建一个Java类并将该类命名为 DemoController。现在如何告诉 Spring 这是我们的控制器类。所以我们要告诉 Spring 的方法是用 @Controller 注释标记它。
@Controller
public class DemoController {}
Note: Spring will automatically initialize the class having a @Controller annotation and register that class with the spring container.
现在让我们在 Controller 类中创建一个简单的方法,并在方法之前使用 @RequestMapping 和 @ResponseBody 注释,如下所示。
// Annotation
@ResponseBody
@RequestMapping("/hello")
// Method
public String helloWorld()
{
return "Hello World!";
}
现在让我们了解这两个注释。
@RequestMapping(“/hello”),那是什么意思呢?这行意味着,在 URL 中,如果有人点击student.com/hello ,那么这个特定的方法将被执行,并且它将执行在该特定方法中写入的操作。例如,对于这个项目,我们只是返回一条消息“Hello World!”我们期望这将显示在客户端浏览器中。但这件事不会发生。为了实现这一点,我们需要使用 @ResponseBody 注释。所以@ResponseBody 注释基本上会在你的 HTTP 响应中写入这个特定的消息,这里是“Hello World!”。
文件:演示控制器。Java
Java
// Java Program to Illustrate DemoController Class
package com.student.controllers;
// Importing required classes
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
// Annotation
@Controller
// Class
public class DemoController {
// Annotation
@ResponseBody
@RequestMapping("/hello")
// Method
public String helloWorld()
{
return "Hello World!";
}
}
第 7 步:在frontcontroller-dispatcher-servlet.xml文件中添加以下行
文件:frontcontroller-dispatcher-servlet.xml
XML
运行你的第一个 Spring MVC 控制器
第 8 步:要运行您的 Spring MVC 应用程序,请右键单击您的项目 > 运行方式 > 在服务器上运行并运行您的应用程序,如下图所示。
之后使用以下 URL 运行您的控制器,如下图所示。所有其他细节可以通过下图感知如下:
http://localhost:8080/myfirst-mvc-project/student.com/hello