<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    風人園

    弱水三千,只取一瓢,便能解渴;佛法無邊,奉行一法,便能得益。
    隨筆 - 99, 文章 - 181, 評論 - 56, 引用 - 0
    數據加載中……

    在Spring集成XFire



    XFire可以很好的集成到Spring中,Spring的代碼已經做了這方面的集成。
    首先,我們先創建我們的Web服務,采用接口和實現類的方式:

    接口MathService.java:

    package com.kuaff.xfire.samples;



    public interface MathService

    {

    ? public long add(int p1, int p2);

    }


    實現類:

    package com.kuaff.xfire.samples;



    public class MathServiceImpl implements MathService

    {

    ? public long add(int p1, int p2)

    ? {

    ? ? return p1 + p2;

    ? }

    }


    META-INF/xfire/service.xml文件可以省略了,因為web服務的定義在xfire-servlet.xml中可以找到。
    下面要做的工具就是配置了。
    在WEB-INF文件夾下創建applicationContext.xml文件,這是Spring的配置文件,如果你使用其他的Spring配置文件,可以將下面的bean添加到那個配置文件中:



    <?xml version="1.0" encoding="UTF-8"?>

    <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

    <beans>

    ? <bean id="mathBean" class="com.kuaff.xfire.samples.MathServiceImpl"/>

    </beans>


    定義了mathBean,這個Bean就是我們的實現類,當然你也可以在這個文件中定義其他的需要Spring管理的bean。

    在WEB-INF文件夾下創建xfire-servlet.xml文件,根據Spring規范,這個文件名起做xfire-servlet.xml,其中xfire是web.xml配置的DispatcherServlet的名稱:


    <?xml version="1.0" encoding="UTF-8"?>

    <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

    <beans>

    ? <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">

    ? ? <property name="urlMap">

    ? ? ? ? <map>

    ? ? ? ? ? <entry key="/MathService">

    ? ? ? ? ? ? <ref bean="math"/>

    ? ? ? ? ? </entry>

    ? ? ? ? </map>

    ? ? </property>

    ? </bean>

    ?

    ? <bean id="math" class="org.codehaus.xfire.spring.remoting.XFireExporter">

    ? ? <property name="serviceFactory">

    ? ? ? ? <ref bean="xfire.serviceFactory"/>

    ? ? </property>

    ? ? <property name="xfire">

    ? ? ? ? <ref bean="xfire"/>

    ? ? </property>

    ? ? <property name="serviceBean">

    ? ? ? ? <ref bean="mathBean"/>

    ? ? </property>

    ? ? <property name="serviceClass">

    ? ? ? ? <value>com.kuaff.xfire.samples.MathService</value>

    ? ? </property>

    ? </bean>

    </beans>


    這個文件的上半部分將MathService這個URL和math這個bean聯系在一起。下半部分定義了Web服務的bean和服務接口。其中mathBean是我們在applicationContext.xml中配置的那個Bean。

    最后一步就是修改web.xml文件:

    <?xml version="1.0" encoding="ISO-8859-1"?>



    <!DOCTYPE web-app

    ? PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"

    ? "http://java.sun.com/dtd/web-app_2_3.dtd">

    <web-app>

    ? <context-param>

    ? ? <param-name>contextConfigLocation</param-name>

    ? ? <param-value>/WEB-INF/applicationContext.xml

    ? ? classpath:org/codehaus/xfire/spring/xfire.xml</param-value>

    ? </context-param>



    ? <context-param>

    ? ? <param-name>log4jConfigLocation</param-name>

    ? ? <param-value>/WEB-INF/log4j.properties</param-value>

    ? </context-param>



    ? <listener>

    ? ? <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>

    ? </listener>



    ? <listener>

    ? ? <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

    ? </listener>



    ? <servlet>

    ? ? <servlet-name>xfire</servlet-name>

    ? ? <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

    ? </servlet>



    ? <servlet-mapping>

    ? ? <servlet-name>xfire</servlet-name>

    ? ? <url-pattern>/*</url-pattern>

    ? </servlet-mapping>

    </web-app>


    需要注意這個文件的三個部分:



    1. ? ? 在定義contextConfigLocation參數時一定要加上classpath:org/codehaus/xfire/spring/xfire.xml。

    2. ? ? 定義listener: org.springframework.web.context.ContextLoaderListener

    3. ? ? 定義DispatcherServlet: xfire

    這樣,你就可以訪問http://localhost:8080/xfire/MathService來調用這個Web服務,也可以通過網址http://localhost:8080/xfire/MathService?wsdl來查看wsdl文檔。

    posted on 2006-07-03 16:42 風人園 閱讀(521) 評論(0)  編輯  收藏 所屬分類: Spring

    主站蜘蛛池模板: 日韩在线永久免费播放| WWW国产成人免费观看视频| 人妻无码一区二区三区免费 | 日本免费人成视频在线观看| 亚洲午夜日韩高清一区| 美女视频黄a视频全免费网站色 | 免费人成视网站在线观看不卡| 中文字幕乱码亚洲无线三区 | 亚洲一区二区视频在线观看| 朝桐光亚洲专区在线中文字幕 | 亚欧乱色国产精品免费视频| 亚洲第一区精品日韩在线播放| 国产精品亚洲AV三区| 免费中文字幕一级毛片| a毛片成人免费全部播放| 国产黄色一级毛片亚洲黄片大全| 国产免费A∨在线播放| 亚洲日韩aⅴ在线视频| 久久久国产精品福利免费| 老汉色老汉首页a亚洲| 精品香蕉在线观看免费| 亚洲日本va一区二区三区| 国产免费观看视频| 国产免费区在线观看十分钟| 亚洲第一中文字幕| 99爱在线精品免费观看| 亚洲精品一卡2卡3卡四卡乱码| 日韩免费一级毛片| 在线免费视频你懂的| 亚洲精品天天影视综合网| 一个人免费高清在线观看| 欧美激情综合亚洲一二区| 亚洲国产精品一区二区第四页| 免费人成激情视频在线观看冫| 久久亚洲精精品中文字幕| 成人免费午夜在线观看| 国产av无码专区亚洲av毛片搜 | 亚洲第一区精品观看| 久久国产乱子伦精品免费一 | 美女视频免费看一区二区| 国产精品久久久亚洲|