如何在 Spring MVC 中创建您的第一个视图?
Spring MVC是一个用于构建 Web 应用程序的 Web MVC 框架。 Spring MVC 框架由以下组件组成:
- 模型:模型可以是一个对象或对象的集合,基本上包含应用程序的数据。
- 视图:视图用于以特定格式向用户显示信息。 Spring 支持各种技术,例如 freemarker、velocity 和 thymeleaf。
- 控制器:它包含应用程序的逻辑部分。 @Controller 注解用于将该类标记为控制器。
- 前端控制器:它仍然负责管理 Web 应用程序的流程。 DispatcherServlet 充当 Spring MVC 中的前端控制器。
正如我们已经讨论了如何创建和运行您的第一个 Spring MVC 控制器的控制器部分。在这里,我们将使用 Spring Tool Suite IDE 在 Spring MVC 中创建我们的第一个视图。
Note: Views are nothing, they are just web pages.
执行:
在此之前,需要以下某些要求:
- Eclipse(EE版)/STS IDE
- 弹簧 JAR 文件
- Tomcat Apache 的最新版本
下面逐步说明如下:
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
springmvc-view-resolver
index.html
index.jsp
index.htm
default.html
default.jsp
default.htm
viewresolver-dispatcher
org.springframework.web.servlet.DispatcherServlet
1
viewresolver-dispatcher
/demo.com/*
XML
HTML
Hello GeeksforGeeks!
Java
package com.demo.controllers;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class DemoController {
@RequestMapping("/hello")
public String helloWorld() {
return "/WEB-INF/views/demo.jsp";
}
}
XML
第 5 步:现在转到src > main > webapp > WEB-INF并创建一个 XML 文件。实际上,这是一个 Spring 配置文件,如 beans.xml 文件。并且文件名必须是这种格式。
YourServletName-servlet.xml
例如,对于这个项目,文件的名称必须是
viewresolver-dispatcher-servlet.xml
因此,您可以创建一个 Spring 配置文件,也可以只创建一个简单的 XML 文件,在该文件中添加以下代码行。
文件:viewresolver-dispatcher-servlet.xml
XML
创建 Spring MVC 控制器
第 6 步:现在,让我们创建一些控制器。转到 src/main/ Java并根据您的选择创建一个新的控制器包(例如 com.demo.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 注解,如下所示。
// Annotation
@RequestMapping("/hello")
// Method
public String helloWorld()
{
return "";
}
现在在 return 语句中,我们必须返回一些视图(网页),所以每当调用端点 '/hello' 时,我们都可以在网页上看到我们的结果。所以让我们创建我们的第一个视图。
创建第一个视图
转到src > main > webapp > WEB-INF > 右键单击 > 新建 > 文件夹并将文件夹命名为视图。然后视图 > 右键单击 > 新建 > JSP 文件并命名您的第一个视图。这里我们将其命名为demo.jsp文件。下面是demo.jsp文件的代码。我们在该文件中创建了一个简单的网页。
文件: demo.jsp
HTML
Hello GeeksforGeeks!
现在转到 DemoController 类,在 helloWorld() 方法中,我们必须返回一个类似这样的值,我们就完成了。
return "/WEB-INF/views/demo.jsp";
我们刚刚获得了观点的路径。所以DemoController的完整代码。 Java在下面给出。
文件:演示控制器。Java
Java
package com.demo.controllers;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class DemoController {
@RequestMapping("/hello")
public String helloWorld() {
return "/WEB-INF/views/demo.jsp";
}
}
第 7 步:在viewresolver-dispatcher-servlet.xml文件中添加以下行
文件:viewresolver-dispatcher-servlet.xml
XML
运行 Spring MVC 应用程序
第 8 步:要运行您的 Spring MVC 应用程序,请右键单击您的项目 > 运行方式 > 在服务器上运行并运行您的应用程序,如下图所示。
之后使用以下 URL 运行您的控制器
http://localhost:8080/springmvc-view-resolver/demo.com/hello