`
xiangxingchina
  • 浏览: 523512 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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 >   
	<filter>
	    <filter-name>struts2</filter-name>
	    <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
	</filter>
	<filter-mapping>
	    <filter-name>struts2</filter-name>
	    <url-pattern>/*</url-pattern>
	</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 >   
<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</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"   />   
<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 >   
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
    <s:form action="Login" method="post">
        <s:textfield name="userName" label="userName"></s:textfield>
        <s:password name="password" label="password"></s:password>
        <s:submit label="submit"></s:submit>
    </s:form>
</body>
</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. }  
package com.struts2.action;

import com.opensymphony.xwork2.ActionSupport;
import com.struts2.service.LoginService;
public class LoginAction extends ActionSupport {
	private LoginService loginService;
	private String userName;
	private String password;
	public void setLoginService(LoginService loginService) {
		this.loginService = loginService;
	}
	public String getUserName() {
		return userName;
	}
	public void setUserName(String userName) {
		this.userName = userName;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	@Override
	public String execute() throws Exception {
		if(loginService.isLogin(userName, password))
			return SUCCESS;
		else
			return INPUT;
	}
}

写一个Service

Java代码
  1. package  com.struts2.service;  
  2.   
  3. public   interface  LoginService {  
  4.     boolean  isLogin(String userName,String password);  
  5. }  
package com.struts2.service;

public interface LoginService {
	boolean isLogin(String userName,String password);
}


写一个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. }  
package com.struts2.service.impl;

import com.struts2.service.LoginService;
public class LoginServiceImpl implements LoginService {

	public boolean isLogin(String userName, String password) {
		if("hello".equals(userName) && "world".equals(password))
			return true;
		else 
			return false;
	}
}

在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 >   
    <package name="struts2" extends="struts-default">
        <action name="Login" class="loginAction">
            <result name="success">/result.jsp</result>
            <result name="input">/login.jsp</result>
        </action>
    </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 >   
    <bean id="loginService" class="com.struts2.service.impl.LoginServiceImpl"></bean>
    <bean id="loginAction" class="com.struts2.action.LoginAction" scope="prototype">
        <property name="loginService" ref="loginService"></property>
    </bean>

启动tomcat,分别输入hello和world,提交,结果为hello和world。说明struts2和spring整合成功。

分享到:
评论

相关推荐

    struts2+spring整合登陆验证经典完整案例!

    struts2+spring整合登陆验证经典完整案例!期余JAR文件在struts2+spring整合登陆验证经典完整案例!(JAR)这个中,免积分下载! 部署Web应用请按如下步骤进行: 1. 进入reg_login路径下,将mysql.sql脚本中的语句...

    struts2+spring整合登陆验证经典完整案例!(JAR)

    struts2+spring整合登陆验证经典完整案例!这个文件和 "struts2+spring整合登陆验证经典完整案例"一起下载使用,由于CSDN资源大小限制,分成两个部分,这个部分都是.jar文件,免积分下载!

    struts2+spring整合

    下面将详细介绍这个“struts2+spring整合”的小DEMO及其涉及的关键知识点。 1. **Struts2框架**:Struts2是基于MVC设计模式的Java Web开发框架,主要负责处理HTTP请求,控制业务流程,并将数据传递给视图层。其核心...

    struts2+spring整合例子

    在提供的"struts2+spring整合例子"中,"S2Spring"这个压缩包很可能包含了上述所有配置文件和源代码示例。通过查看这些文件,我们可以深入理解Struts2与Spring如何协同工作,学习如何在实际项目中进行整合。对于初学...

    Struts 2+Hibernate+Spring整合开发技术详解sample.pdf

    Struts 2+Hibernate+Spring整合开发技术详解sample.pdf

    Struts2+Hibernate+Spring整合开发技术详解19章网上书店完整源码

    Struts2+Hibernate+Spring整合开发技术详解19章网上书店完整源码(内附数据库导出文件) 与书上最后一章内容完全对应 可以结合书上教程进行最后一章学习

    最新版本的Struts2+Spring4+Hibernate4框架整合

    整合使用最新版本的三大框架(即Struts2、Spring4和Hibernate4),搭建项目架构原型。 项目架构原型:Struts2.3.16 + Spring4.1.1 + Hibernate4.3.6。 此外,还有:log4j、slf4j、junit4、ehcache等知识点。 项目...

    轻量级JavaEE企业应用实战_Struts2+Spring3+Hibernate整合开发_第3版.part2

    轻量级JavaEE企业应用实战_Struts2+Spring3+Hibernate整合开发_第3版.part2

    struts2+spring整合的系统

    在"struts2+spring整合的系统"项目中,开发者成功地将这两个框架集成,实现了登录功能和非空验证。这是一个非常实用的学习案例,对于初学者来说,理解并模仿这样的整合有助于提升技能。 1. **Struts2框架**:Struts...

    struts2+spring+mybatis框架

    在Struts2+Spring整合中,Spring负责业务层对象的管理,提供IOC(Inversion of Control)容器来管理和控制对象的生命周期。同时,Spring的AOP模块可以用于实现如日志记录、权限控制等通用功能。 **MyBatis框架** ...

    轻量级JavaEE企业应用实战_Struts2+Spring3+Hibernate整合开发_第3版.part1

    轻量级JavaEE企业应用实战_Struts2+Spring3+Hibernate整合开发_第3版.part1

    struts2+spring整合的一个例子

    在这个例子中,"struts2+spring整合的一个例子"展示了如何将这两个框架结合,以实现一个查询功能。由于无需数据库,我们可以假设这个例子可能使用了静态数据或者内存中的数据结构来模拟数据存储。下面我们将详细探讨...

    struts2+spring+mybatis+easyui的实现

    总的来说,"struts2+spring+mybatis+easyui"的实现是一个标准的Java Web项目结构,它利用Maven进行构建管理,通过整合四个组件,实现了后端的业务逻辑处理、数据访问和前端的用户界面展示。这种架构在实际开发中具有...

    Struts2 + Spring 整合简单例子

    提供的压缩包文件"struts2+spring整合实例.docx"可能包含了详细的步骤和示例代码,用于指导如何将这两个框架整合到一个项目中。通过学习和实践这个实例,开发者可以更好地理解和掌握Struts2与Spring的整合技巧。

    轻量级Java EE企业应用实战——Struts 2+Spring+Hibernate整合开发 全套电子书.part3

    轻量级Java EE企业应用实战——Struts 2+Spring+Hibernate整合开发电子书123全套.part3.rar

    Struts2+Spring整合所需jar包

    下面我们将详细介绍Struts2和Spring整合所需的核心jar包及其作用。 1. **Struts2框架**: - **struts2-core.jar**:Struts2的核心库,包含了Action、Interceptor、Result等核心组件。 - **struts2-convention-...

    Struts2+Hibernate+Spring整合开发深入剖析与范例应用03

    Struts2、Hibernate和Spring是Java企业级应用中三大核心框架,它们的整合使用能够构建出高效、可维护性高的Web应用程序。本篇将深入剖析这三者如何协同工作,并提供实际范例应用。 首先,Struts2作为MVC(模型-视图...

    struts2+spring2.5+hibernate3.2整合完整项目,带数据库脚本

    Struts2、Spring2.5和Hibernate3.2是Java Web开发中经典的三大框架,它们的整合使用在过去的许多年里被广泛应用于企业级应用系统。这个完整的项目提供了从开发环境到运行环境的所有必要组件,包括数据库脚本,使得...

Global site tag (gtag.js) - Google Analytics