Struts2和Spring整合实例【转】

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,整合实例)