开发手册 欢迎您!
软件开发者资料库

Struts 2和Spring集成

Spring是一个流行的Web框架,可以轻松集成许多常见的Web任务.所以问题是,当我们拥有Struts2时,为什么我们需要Spring?好吧,Spring不仅仅是一个MVC框架 - 它提供了Struts中没有的许多其他好东西.

Spring是一个流行的Web框架,可以轻松集成许多常见的Web任务.所以问题是,当我们拥有Struts2时,为什么我们需要Spring?好吧,Spring不仅仅是一个MVC框架 - 它提供了Struts中没有的许多其他好东西.

例如:依赖注入可以对任何框架有用.在本章中,我们将通过一个简单的示例来了解如何将Spring和Struts2集成在一起.

首先,您需要将以下文件添加到Spring的项目构建路径中安装.您可以从 https://www.springsource.org/download

  • org.springframework.asm-xyzM(a).jar

  • org. springframework.beans-xyzM(a).jar

  • org.springframework.context-xyzM(a).jar

  • org.springframework.core- xyzM(a).jar

  • org.springframework.expression-xyzM(a).jar

  • org.springframework.web-xyzM(a) .jar

  • org.springframework.web.servlet-xyzM(a).jar

最后添加 WEB-INF/lib 中的> struts2-spring-plugin-xyzjar .如果您正在使用Eclipse,那么您可能会遇到异常 java.lang.ClassNotFoundException:org.springframework.web.context.ContextLoaderListener .

要解决此问题,你应该进入 Marker 标签,然后逐个点击类依赖关系并进行快速修复以发布/导出所有依赖项.最后确保标记选项卡下没有可用的依赖冲突.

Struts and Sprint Integration

现在让我们为Struts-Spring集成设置 web.xml ,如下所示;

   Struts 2            index.jsp                     org.springframework.web.context.ContextLoaderListener                  struts2               org.apache.struts2.dispatcher.FilterDispatcher                  struts2      /*   

这里要注意的重要一点是我们配置的监听器.加载spring上下文文件需要 ContextLoaderListener . Spring的配置文件名为 applicationContext.xml 文件,它必须与 web.xml 文件放在同一级别

让我们用两个属性创建一个名为 User.java 的简单动作类 -  firstName和lastName.

package com.it1352.struts2; public class User {   private String firstName;   private String lastName;   public String execute() {      return "success";   }   public String getFirstName() {      return firstName;   }   public void setFirstName(String firstName) {      this.firstName = firstName;   }   public String getLastName() {      return lastName;   }   public void setLastName(String lastName) {      this.lastName = lastName;   }}

现在让我们创建 applicationContext.xml spring配置文件并实例化 User.java 类.如前所述,此文件应位于WEB-INF文件夹中 :

                  

如上所示,我们配置了用户bean,我们注入了值 Michael Jackson 进入豆子.我们还给这个bean命名为"userClass",以便我们可以在其他地方重用它.接下来让我们在WebContent文件夹中创建 User.jsp :

<%@ page language = "java" contentType = "text/html; charset = ISO-8859-1"   pageEncoding = "ISO-8859-1"%><%@ taglib prefix = "s" uri = "/struts-tags"%>         Hello World               

Hello World From Struts2 - Spring integration

               
         
      
         

User.jsp 文件非常简单.它仅用于一个目的 - 显示用户对象的名字和姓氏的值.最后,让我们使用 struts.xml 文件将所有实体放在一起.

                     /User.jsp         

需要注意的重要一点是我们使用id userClass 来引用该类.这意味着我们使用spring为User类进行依赖注入.

现在右键单击项目名称并单击 Export> WAR文件以创建War文件.然后在Tomcat的webapps目录中部署此WAR.最后,启动Tomcat服务器并尝试访问URL http://localhost:8080/HelloWorldStruts2/User.jsp .这将产生以下屏幕 :

Struts and Spring Integration <我们现在已经看到了如何将两个伟大的框架结合在一起.这就是Struts  -  Spring集成章节的结尾.