简述
Spring 是一种流行的 Web 框架,它提供了与许多常见 Web 任务的轻松集成。那么问题来了,为什么我们有了 Struts2 还需要 Spring?嗯,Spring 不仅仅是一个 MVC 框架 - 它提供了许多其他在 Struts 中不可用的东西。
例如:对任何框架都有用的依赖注入。在本章中,我们将通过一个简单的示例来了解如何将 Spring 和 Struts2 集成在一起。
- 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
最后添加 struts2-spring-plugin-x.y.z.jar 在你的 WEB-INF/lib来自您的 struts lib 目录。如果您使用 Eclipse,那么您可能会遇到异常java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener。
要解决这个问题,你应该进入 Marker选项卡并右键单击类依赖项并执行快速修复以发布/导出所有依赖项。最后确保标记选项卡下没有可用的依赖冲突。
现在让我们设置 web.xml 对于 Struts-Spring 集成如下 -
这里需要注意的重要一点是我们配置的监听器。这ContextLoaderListener需要加载 spring 上下文文件。Spring的配置文件被调用applicationContext.xml 文件,它必须与 web.xml 文件
让我们创建一个简单的动作类,称为 User.java 有两个属性 - firstName 和 lastName。
现在让我们创建 applicationContext.xml spring配置文件并实例化 User.java班级。如前所述,此文件应位于 WEB-INF 文件夹下 -
如上所示,我们已经配置了用户 bean 并注入了值 Michael 和 Jackson入豆。我们还给这个 bean 起了一个名字“userClass”,这样我们就可以在别处重用它。接下来让我们创建User.jsp 在 WebContent 文件夹中 -
这 User.jsp文件非常简单。它仅用于一个目的 - 显示用户对象的名字和姓氏的值。最后,让我们使用struts.xml 文件。
需要注意的重要一点是我们正在使用 id userClass参考类。这意味着我们正在使用 spring 为 User 类进行依赖注入。
现在右键单击项目名称并单击 Export > WAR File创建一个战争文件。然后将此 WAR 部署到 Tomcat 的 webapps 目录中。最后,启动Tomcat服务器并尝试访问URLhttp://localhost:8080/HelloWorldStruts2/User.jsp. 这将产生以下屏幕 -
我们现在已经看到了如何将两个伟大的框架结合在一起。Struts - Spring 集成一章到此结束。