`
zhoujianghai
  • 浏览: 439112 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

struts2+spring2+Xfire开发webservice

阅读更多
第一次接触webservice,所以想在原有的项目上增加webservice功能,没想到今天相当的郁闷,遇到很多的错误,所以花了差不多一下午的时间去解决,不过最后终于成功了。下面是一个小例子(采用自底向上的开发模式)。写下来供以后参考。以下是主要配置文件。
配置步骤:
《1》、导包
struts2:
         1.         commons-logging-1.0.4.jar
         2.         freemarker-2.3.13.jar
         3.         ognl-2.6.11.jar
         4.         struts2-core-2.1.6.jar
         5.         xwork-2.1.2.jar
         6.         commons-fileupload-1.2.1.jar
         7.         commons-io-1.3.2.jar
         8.         struts2-spring-plugin-2.1.6.jar

spring2:
         1.        log4j-1.2.14.jar
         2.         aspectjweaver.jar
         3.        aspectjrt.jar
         4.         spring.jar

xfire-1.2.6(从网上下载新版本,然后把jar包导入WEB-INF\lib下:xfire-all-1.2.6.jar和lib下的所有包)

《2》、删除一些会冲突的包
把lib下的x-fire中的spring-1.2.6.jar删掉,它会和spring2中的spring.jar包发生冲突。

《3》配置web.xnl
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

<context-param>
   <param-name>contextConfigLocation</param-name>
   <param-value>classpath*:applicationContext-*.xml,classpath:org/codehaus/xfire/spring/xfire.xml</param-value>
  </context-param>
  
  <listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

<servlet>
    <servlet-name>xfireServlet</servlet-name>
    <servlet-class>org.codehaus.xfire.transport.http.XFireConfigurableServlet</servlet-class>
    <load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
     <servlet-name>xfireServlet</servlet-name>
     <url-pattern>/services/*</url-pattern>
</servlet-mapping>

<servlet>
<servlet-name>XFireServlet</servlet-name>
<servlet-class>
   org.codehaus.xfire.spring.XFireSpringServlet
  </servlet-class>
</servlet>
<servlet-mapping>
  <servlet-name>XFireServlet</servlet-name>
<url-pattern>/servlet/XFireServlet/*</url-pattern>
</servlet-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>*.jsp</url-pattern>
  </filter-mapping>
  <filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>*.action</url-pattern>
  </filter-mapping>
    <welcome-file-list>
    <welcome-file>login.jsp</welcome-file>
  </welcome-file-list>
  
</web-app>

《4》配置struts.xml(在该例子中还用不到它,以下配置只是与spring2集成)
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.objectFactory" value="spring" />
<package name="public" extends="struts-default">
  <action name="login" class="loginAction">
   ......
  </action>
</package>
</struts>


《5》配置applicationContext-beans.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns:aop="http://www.springframework.org/schema/aop"
      xmlns:tx="http://www.springframework.org/schema/tx"
      xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
           http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
           http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">
<bean id="connectDb" class="jxust.zjh.db.ConnectDb" />
<bean id="educate" class="jxust.zjh.educateImpl" />

<bean name="helloService" class="org.codehaus.xfire.spring.ServiceBean">
  <property name="serviceBean" ref="educate"/>
  <property name="serviceClass" value="jxust.zjh.Ieducate"/>
  <property name="inHandlers" ref="addressingHandler" />
  </bean>
<bean id="addressingHandler" class="org.codehaus.xfire.addressing.AddressingInHandler"/>
</beans>


《6》配置applicationContext-actions.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns:aop="http://www.springframework.org/schema/aop"
      xmlns:tx="http://www.springframework.org/schema/tx"
      xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
           http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
           http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">
<bean id="public" abstract="true">
  <property name="connectDb" ref="connectDb" />
</bean>
<bean id="loginAction" class="jxust.zjh.actions.LoginAction" scope="prototype" parent="public">
</bean>
</beans>


《7》修改services.xml(由于用的是spring2.0,所以把xmlns="http://xfire.codehaus.org/config/1.0"放在<service>中)
<?xml version="1.0" encoding="UTF-8"?>
<beans >
<service xmlns="http://xfire.codehaus.org/config/1.0">
  
  <name>educate</name>
  <serviceClass>jxust.zjh.Ieducate</serviceClass>
  <implementationClass>jxust.zjh.educateImpl</implementationClass>
  <style>wrapped</style>
  <use>literal</use>
  <scope>application</scope>
</service></beans>


《8》编写一个简单的接口和实现类(用来测试)
Ieducate.java
package jxust.zjh;
public interface Ieducate {
public String queryStudent(String s_card);
}

EducateImpl.java(该实现类依赖了其他类的对象)
package jxust.zjh;
public class EducateImpl implements Ieducate {
public String queryStudent(String s_card) {
  return "该学生学号是:"+s_card;
}
}

这样在浏览器中输入:http://localhost:8080/EducateSystem_server/services/educate?wsdl
就可以看到生成的wsdl文件了
分享到:
评论

相关推荐

    JQuery1.4.2+Struts2.1.8+JSON0.34+Spring2.5.6+Hibernate3.5+XFire1.2.6整合实例

    JQuery1.4.2+Struts2.1.8+JSON0.34+Spring2.5.6+Hibernate3.5+XFire1.2.6整合实例(已上传) 1、JSON0.34使用的是struts2附带的struts2-json-plugin-2.1.8.1.jar 2、db是mysql,名字为test,用户名root,密码空 3、...

    spring+hibernate+struts+XFire的webService实例

    总结来说,"Spring+Hibernate+Struts+XFire的WebService实例"提供了一个完整的Java Web服务解决方案,涵盖了从数据持久化到用户界面,再到Web服务的整个开发流程。这个实例对于学习和理解企业级Java应用的开发具有很...

    JQuery+Struts2+JSON0+Spring+Hibernat+XFire整合实例

    1、JSON0.34使用的是struts2附带的struts2-json-plugin-2.1.8.1.jar 2、db是mysql,名字为test,用户名root,密码空 3、com.morningstar.utility.WSUtility为调用WebService的客户端代码,在调用这个WebService返回...

    ssh及XFire+Spring构建WebService

    SSH(Struts2 + Spring + Hibernate)是一种常见的Java Web开发框架组合,用于构建高效、可维护的Web应用程序。Struts2提供了MVC(Model-View-Controller)架构,Spring为应用提供依赖注入(DI)和面向切面编程(AOP...

    整理xfire和spring的集成 web service 面向服务编程 java

    【整合XFire与Spring进行Web Service开发】 XFire是一个基于Java的SOAP Web Service框架,而Spring是一个广泛应用的轻量级框架,它提供了依赖注入、面向切面编程等特性。将两者集成可以方便地构建和消费Web Service...

    ssh下做webservice需要的xfire所有jar

    SSH(Struts+Spring+Hibernate)是一个常见的Java Web开发框架,用于构建高效、可扩展的企业级应用程序。在SSH框架下实现Web服务(WebService),我们可以使用XFire库,它是一个轻量级、高性能的Web服务实现,支持...

    SSH整合WebService框架XFire搭建总结.pdf

    XFire是一个轻量级的WebService框架,它使得开发WebService变得简单快捷。为了使SSH框架能够提供WebService服务,需要对项目进行以下扩展: ##### 1. 添加XFire库包 - 在项目的`.classpath`文件中添加XFire库包的...

    Myeclipse10 用 Xfire构建 webservice

    MyEclipse10是基于Eclipse的商业级Java开发平台,支持多种技术栈,包括Java EE、Spring、Struts等。其强大的功能包括代码编辑、调试、测试、部署等,尤其在Web服务开发方面,提供了可视化工具,使得开发过程更为便捷...

    MyEclipse下JavaEE开发教程全套

    5. **第十二章 开发Struts 2+Spring应用.pdf**:结合Struts 2和Spring,讲述MVC(Model-View-Controller)架构的应用。 6. **第十一章 开发Spring+Struts+Hibernate应用.pdf**:这章可能介绍如何整合Spring、Struts...

    xfire 使用方法

    services.xml文件在结构上类似于struts2中的struts.xml,是用来配置服务接口的。 在Web应用的部署中,需要配置web.xml文件,以便于在HTTP环境中提供服务。web.xml文件中需要配置servlet,其中servlet-name为...

    struts spring hibernate

    【Struts、Spring、Hibernate】是Java开发中的三大主流框架,它们分别用于处理MVC(Model-View-Controller)架构的不同方面。Struts作为MVC框架的一部分,主要负责控制层,通过Action和ActionForm来管理用户请求与...

    XFire1.2.6

    通过简单的XML配置或者编程式API,可以将XFire集成到Spring、Struts等主流Java应用框架中,实现Web服务的快速开发。 总结,XFire 1.2.6是一个强大而灵活的Web服务开发工具,尤其适合那些希望避免复杂Web服务框架的...

    11Spring 、SpringMVC、框架及相关内容1

    4. 表单数据封装:Struts2通过Action的属性封装,而Spring MVC通常通过方法参数或RequestParam注解进行封装。 5. 拦截器:两者都支持拦截器,但Spring MVC的拦截器更加灵活和强大。 总结起来,Spring、Spring MVC和...

    CXF创建Webservice接口与Spring整合实例

    本文将深入探讨如何利用CXF创建带有用户认证的Web服务接口,并将其与SSH(Spring、Struts、Hibernate)框架整合。 首先,让我们了解一下CXF创建Web服务的基本步骤: 1. **设置项目环境**:确保你的开发环境中已经...

    XFire的jar包

    4. 集成库:可能有与Spring、Struts等常见Java框架的集成,方便在现有应用中使用XFire。 5. 序列化库:用于将Java对象转换为SOAP消息,反之亦然。 6. 其他依赖库:XFire可能依赖于其他第三方库,如XML解析器、HTTP...

    参考简历模板三.doc

    - **WebService、XML**:能使用XFire和Axis进行开发部署。 - **Web应用服务器**:熟练使用Tomcat、JBoss、Resin、Jetty、Apache、EasyPHP等。 - **缓存技术**:熟练使用Redis,掌握Jetis API。 - **前端技术**:...

    流行的WEB开发技术大全

    本篇文章将围绕"流行的WEB开发技术大全"这一主题,重点介绍JAVA、AJAX、WEBSERVICE、FLEX以及XFIRE这五种关键技术和相关知识。 首先,JAVA作为全球最广泛使用的编程语言之一,尤其在Web开发中扮演着核心角色。Java...

    CXF webservice初学笔记

    本笔记将探讨CXF的基本概念、如何使用CXF构建Webservice以及与之相关的技术栈,如Spring、Struts2等。 1. **CXF简介** - CXF(CXF Xfire + XWS)是两个项目的合并,提供了SOAP、RESTful、XML/HTTP、WS-*等协议的...

    IT 简历模版

     ◆ 框架技术:熟练使用Struts1.x、Struts2.x 、Hibernate、Spring ◆ 表 现 层:熟练掌握JSP、HTML、JavaScript、EL表达式和Struts标签库等,熟悉Ajax、DIV+CSS技术,JQuery,了解XML ◆ 编程工具:熟练使用My ...

    MyEclipse开发教程 完整版 pdf

    - **集成功能**:内置了众多开发框架的支持,如SSH(Struts、Spring、Hibernate)、JSF、JPA等,简化了开发流程。 - **数据库管理**:提供数据库连接和管理功能,便于开发者进行数据库操作。 - **代码自动生成**:...

Global site tag (gtag.js) - Google Analytics