Struts2+Spring整合

原创 2012年03月22日 17:52:43
Struts2和Spring整合,创建一个OA工程
1、整合struts2
1)导入strut2的jar包:commons-logging-1.0.4.jar,freemarker-2.3.8.jar,ognl-2.6.11.jar,struts2-core-2.0.12.jar,xwork-2.06.jar。暂时导入这些jar包,到时候需要再倒入。
2)将struts.xml文件放置在OA工程的src目录下。
3)在web.xml里面配置struts2用到的核心过滤器。
Xml代码  收藏代码
  1. <filter>  
  2.     <filter-name>struts2</filter-name>  
  3.     <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>  
  4. </filter>  
  5. <filter-mapping>  
  6.     <filter-name>struts2</filter-name>  
  7.     <url-pattern>/*</url-pattern>  
  8. </filter-mapping>  
2、整合spring
1)导入spring的jar包:spring.jar
2)将applicationContext.xml文件放置在OA工程的WEB-INF目录下。
3)在web.xml里面配置spring用到的监听器。
Xml代码  收藏代码
  1. <listener>  
  2.     <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>  
  3. </listener>  

4)添加struts2-spring整合的插件:struts2-spring-plugin-2.0.12.jar,如果不使用这个插件,则需要在struts.xml里面配置:
Xml代码  收藏代码
  1. <constant name="struts.objectFactory" value="org.apache.struts2.spring.StrutsSpringObjectFactory" />  

3、测试struts2和spring整合对不对?
写一个jsp页面login.jsp来测试:
Html代码  收藏代码
  1. <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>  
  2. <%@ taglib prefix="s" uri="/struts-tags" %>  
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
  4. <html>  
  5. <head>  
  6. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
  7. <title>Insert title here</title>  
  8. </head>  
  9. <body>  
  10.     <s:form action="Login" method="post">  
  11.         <s:textfield name="userName" label="userName"></s:textfield>  
  12.         <s:password name="password" label="password"></s:password>  
  13.         <s:submit label="submit"></s:submit>  
  14.     </s:form>  
  15. </body>  
  16. </html>  
写一个LoginAction
Java代码  收藏代码
  1. package com.struts2.action;  
  2.   
  3. import com.opensymphony.xwork2.ActionSupport;  
  4. import com.struts2.service.LoginService;  
  5. public class LoginAction extends ActionSupport {  
  6.     private LoginService loginService;  
  7.     private String userName;  
  8.     private String password;  
  9.     public void setLoginService(LoginService loginService) {  
  10.         this.loginService = loginService;  
  11.     }  
  12.     public String getUserName() {  
  13.         return userName;  
  14.     }  
  15.     public void setUserName(String userName) {  
  16.         this.userName = userName;  
  17.     }  
  18.     public String getPassword() {  
  19.         return password;  
  20.     }  
  21.     public void setPassword(String password) {  
  22.         this.password = password;  
  23.     }  
  24.     @Override  
  25.     public String execute() throws Exception {  
  26.         if(loginService.isLogin(userName, password))  
  27.             return SUCCESS;  
  28.         else  
  29.             return INPUT;  
  30.     }  
  31. }  
写一个Service
Java代码  收藏代码
  1. package com.struts2.service;  
  2.   
  3. public interface LoginService {  
  4.     boolean isLogin(String userName,String password);  
  5. }  

写一个Service的实现
Java代码  收藏代码
  1. package com.struts2.service.impl;  
  2.   
  3. import com.struts2.service.LoginService;  
  4. public class LoginServiceImpl implements LoginService {  
  5.   
  6.     public boolean isLogin(String userName, String password) {  
  7.         if("hello".equals(userName) && "world".equals(password))  
  8.             return true;  
  9.         else   
  10.             return false;  
  11.     }  
  12. }  
在struts.xml里面配置:
Xml代码  收藏代码
  1. <package name="struts2" extends="struts-default">  
  2.     <action name="Login" class="loginAction">  
  3.         <result name="success">/result.jsp</result>  
  4.         <result name="input">/login.jsp</result>  
  5.     </action>  
  6. </package>  
在applicationContext.xml里面配置:
Xml代码  收藏代码
  1. <bean id="loginService" class="com.struts2.service.impl.LoginServiceImpl"></bean>  
  2. <bean id="loginAction" class="com.struts2.action.LoginAction" scope="prototype">  
  3.     <property name="loginService" ref="loginService"></property>  
  4. </bean>  
启动tomcat,分别输入hello和world,提交,结果为hello和world。说明struts2和spring整合成功。
分享到:

Spring整合Struts2的两种方式

Spring提供了一个ContextLoaderListener,该监听类实现了ServletContextListener接口。该类可以作为Listener使用,它会在创建时自动查找WEB-INF/...
  • cuiyaoqiang
  • cuiyaoqiang
  • 2016年07月12日 11:44
  • 4270

详细分析spring与struts2的整合原理

详细分析spring与struts2的整合原理
  • canot
  • canot
  • 2016年02月19日 15:52
  • 3641

struts2_hibernate5_spring4整合的一般步骤及其注意事项

整合逻辑:先整合spring,再整合hibernate,最后整合Struts2. spring整合: 1.导入相关jar包:导入spring相关jar包:ioc,aop,tx,web,junit整合包...
  • fengbird
  • fengbird
  • 2016年12月27日 22:54
  • 1338

spring+hibernate+struts2 +mybatis整合笔记

  • 2017年08月10日 22:07
  • 360KB
  • 下载

javaee SSH整合(Spring4+Struts2+Hibernate4)所需的包

  • 2017年11月02日 23:57
  • 15.5MB
  • 下载

轻量级JAVA EE企业应用实战(第四版)STRUTS2+SPRING4+HIBERNATE整合开发 李刚

  • 2017年10月31日 14:20
  • 77B
  • 下载

SSH(struts2,Hibernate,Spring)整合及测试亲测可用

  • 2017年10月27日 10:11
  • 15.3MB
  • 下载

Java Web技术整合应用与项目实战 JSP+Servlet+Struts2+Hibernate+Spring3_13336769.zip.003

  • 2017年12月05日 21:47
  • 38.48MB
  • 下载

SSH整合包(struts2,spring4.3.9,hibernate5)

  • 2017年09月19日 10:56
  • 32.77MB
  • 下载

ssh jar包框架整合项目struts2、spring、hibernate

  • 2017年09月13日 16:50
  • 16.69MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Struts2+Spring整合
举报原因:
原因补充:

(最多只允许输入30个字)