Spring MVC 采用基于 Java 的配置

原文:https://www . geesforgeks . org/spring-MVC-using-基于 Java-configuration/

先决条件: MVC 设计模式带 JSP 视图的 Spring MVC

Spring MVC 框架支持模块分离,即模型视图控制器,无缝处理应用集成。这使得开发人员也可以使用普通的 java 类创建复杂的应用程序。模型对象可以使用地图在视图和控制器之间传递。在本文中,我们将看到如何在 Eclipse IDE 中设置一个 Spring MVC 应用程序,并了解如何制作应用程序。

Spring MVC 框架由以下组件组成:

  • 模型:模型可以是基本包含应用程序数据的对象或对象集合。
  • 视图:视图用于以特定的格式向用户显示信息。Spring 支持各种技术,如 freemarkervelocity百里香叶
  • 控制器:包含应用的逻辑部分。 @Controller 注释用于将该类标记为 Controller。
  • 前端控制器:仍然负责管理 web 应用的流程。DispatcherServelet 在 spring MVC 中充当前端控制器。

要求:

  • Eclipse (EE 版本)。
  • Tomcat Apache 最新版本。

在 eclipse IDE 中设置 Spring MVC 应用程序的步骤:

  • 第一步:进入文件菜单,点击新建 - > Maven 项目。
  • 第二步:然后在搜索栏中,输入 maven 。点击 Maven 项目,点击下一步
  • 步骤 3: 默认设置应保持原样。点击下一步。
  • 第四步:选择maven-原型-webapp 进行 web 应用,点击下一步
  • 第五步:给点组 id 以及神器 id
  • 第六步:右键点击项目,进入属性
  • 第 7 步:点击目标运行时。选择系统中安装的阿帕奇雄猫。点击应用 - > 应用并关闭。
  • 第八步:Java 文件应该在 src/main/java 文件夹中构建 spring MVC 项目。转到项目中的 src 文件夹。右键点击,点击新建 - > 文件夹。
  • 第九步:java 写成文件夹名。
  • Step 10: Create a java class inside com.geesforgeeks.springmvc under src/main/java folder. The directory structure should look as follows.

    使用基于 java 的配置实现 Spring web MVC 应用程序的步骤:

    • 第一步:最初,我们需要创建一个 POM。XML 文件。这个文件包含 spring 框架的 maven 依赖项,以便在项目中使用它们。

      可扩展标记语言

      ```java   4.0.0   com.geeksforgeeks   SpringMVCjava   war   0.0.1-SNAPSHOT   SpringMVCjava Maven Webapp   http://maven.apache.org   

            junit       junit       3.8.1       test     

            org.springframework       spring-webmvc       4.3.12.RELEASE     

             SpringMVCjava    ```

    • 步骤 2: 项目包含一个 web.xml 文件,该文件接收来自客户端的所有请求。我们将使用WebInitializer.java代替 web . XML。getServletMappings()函数接收所有对应于/【URL】映射的请求。函数getServletConfigClasses()配置 dispatcher servlet,并将处理程序转移到 dispatcher servlet java 文件 MVCconfig.class 中。使用 MVCconfig.class】文件代替 dispatcher servlet 进行基于 java 的配置。这个类应该扩展抽象注释配置调度器类**来服务于基于 java 的配置中 web.xml 文件的目的。该文件定义为:

      Java 语言(一种计算机语言,尤用于创建网站)

      ```java package com.geeksforgeeks.web;

      import org.springframework.web     .servlet.support     .AbstractAnnotationConfigDispatcherServletInitializer;

      public class WebInitializer     extends AbstractAnnotationConfigDispatcherServletInitializer {

      @Override     protected Class<?>[] getRootConfigClasses()     {         // TODO Auto-generated method stub         return null;     }

      @Override     protected Class<?>[] getServletConfigClasses()     {         // TODO Auto-generated method stub         return new Class[] { MVCconfig.class };     }

      @Override     protected String[] getServletMappings()     {         // TODO Auto-generated method stub         return new String[] { "/" };     } } ``` * 第三步:现在,我们需要创建一个 MVCconfig.java 文件。这个文件用来代替 dispatcher servlet 文件。用 @Configuration 注释一个类表示该类可以被 Spring IoC 容器用作 bean 定义的来源。要启用带注释控制器的自动检测,需要将组件扫描添加到配置中。它还给出了基本包(即 com.geeksforgeeks.web) 的路径,其中需要搜索控制器文件。这个类应该扩展webmvcconfiguradapter类来服务于 dispatcher servlet 的目的。

      Java 语言(一种计算机语言,尤用于创建网站)

      包。com。极客们。web

      导入组织。弹簧框架。上下文 。注释。组件扫描; 导入组织。弹簧框架。上下文 。注释。配置; 导入组织。弹簧框架。网络。servlet 。配置。注释 。webmvcconfiguradapter

      @配置 @组件扫描({"com。极客们。web"})

      公开课 mvcconfig 扩展 web vcconfigured 适配器{ } * 第四步:现在,我们需要定义一个控制器。控制器解释用户输入,并将其转换为视图向用户表示的模型。 @RequestMapping 注释用于将 "/greet" 等 URL 映射到整个类或特定的处理程序方法上。我们创建一个模型和视图类的对象。 setViewName() 表示要调用的视图, addObject() 表示要添加到该对象的动态内容。

      Java 语言(一种计算机语言,尤用于创建网站)

      ```java package com.geeksforgeeks.web; import org.springframework     .stereotype.Controller; import org.springframework.web     .bind.annotation.RequestMapping; import org.springframework.web     .servlet.ModelAndView;

      @Controller public class GreetController {

      @RequestMapping("/greet")     public ModelAndView showview()     {

      ModelAndView mv = new ModelAndView();         mv.setViewName("result.jsp");         mv.addObject("result",                      "GeeksForGeeks Welcomes "                          + "you to Spring!");         return mv;     } } ``` * 第五步:现在,我们需要为应用程序创建一个索引页面。它是当给定的网址被点击时显示的页面。于是,我们创建了index.jsp文件如下:

      超文本标记语言

      java <html> <body> <h2>Hello World!</h2>     <form action="greet">         <input type="submit" value="Press to greet">     </form> </body> </html> * 第六步:当按下上面定义的 index.jsp 的问候按钮时,Result.jsp页面打开。所以,我们需要定义 Result.jsp 文件:

      超文本标记语言

      ```java <%@ page language="java" contentType="text/html; charset=ISO-8859-1"     pageEncoding="ISO-8859-1" isELIgnored="false"%> <!DOCTYPE html>     

                       Insert title here          

      ${result}

       

      ```**

    输出:

    • When index.jsp is opened:

    • When the button is pressed: