上一篇我已经介绍了SSH+Xfire+Proxool的第一种整合方式,当然了这里主要体现了Xfire跟spring的整合。这里还拿前面的例子来说一下Xfire跟Spring的另外一种结合方式,代码基本上和上面一样,不同的地方主要体现在几个配置文件上,下面做些说明:
1、在web-inf /的根目录下添加 xfire-servlet.xml 文件,用来定义webservice需要提供的接口。第一种结合方式不需要这个配置文件,而是把接口直接定义到了applicationContext.xml 里面的。
2、在web.xml 里面
<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>/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>/services/*</url-pattern>
</servlet-mapping>
在Spring MVC框架中,每个DispatcherServlet有它自己的WebApplicationContext,这个context继承了根ApplicationContext的所有bean定义。在DispatcherServlet的初始化过程中,Spring会在web应用的WEB-INF文件夹下寻找名为[servlet-name]-servlet.xml的配置文件,生成文件中定义的bean。上面例子的Spring默认配置文件为xfire-servlet.xml。
3、关于org/codehaus/xfire/spring/xfire.xml文件的导入
这个可以写到web.xml 文件里面: classpath:org/codehaus/xfire/spring/xfire.xml
还可以在xfire —servlet.xml 文件里面: <import resource="classpath:org/codehaus/xfire/spring/xfire.xml" />
还可以在applicationContext.xml 里面:<import resource="classpath:org/codehaus/xfire/spring/xfire.xml" />
本例中是吧xfire.xml 的声明定义到了web.xml中了
上一篇是定义到了applicationContext.xml 里面的
下面还是贴贴代码吧:xfire-servlet.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "
http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<!-- 引入XFire预配置信息 这一句也可添加到web.xml 的上下文中,tomcat 开启时进行加载
<import resource="classpath:org/codehaus/xfire/spring/xfire.xml" />-->
<!--定义访问的url-->
<bean
class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<propert