一. web.xml 的配置
<?xml version="1.0" encoding="UTF-8"?> <web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <display-name>xfire_spring_book</display-name> <!-- start --> <context-param> <param-name>contextConfigLocation</param-name> <param-value> /WEB-INF/spring/applicationContext*.xml, classpath:org/codehaus/xfire/spring/xfire.xml </param-value> </context-param> <!-- Load Spring ContextServlet --> <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>*.ws</url-pattern> </servlet-mapping> </web-app>
说明:
1. /WEB-INF/spring/applicationContext*.xml 为 spring 的配置文件说明。
2. classpath:org/codehaus/xfire/spring/xfire.xml,它是在 XFire 核心 JAR 包中拥有一个预定义的
Spring 配置文件,它定义了 XFire 在 Spring 中必须用到的一些 Bean 和资源,需要引入这个预定义的配
置文件。
3. 在WEB-INF文件夹下创建xfire-servlet.xml文件,根据Spring规范,这个文件名起做xfire-servlet.xml,
其中 xfire 是 web.xml 配置的 DispatcherServlet 的名称。二。本例子参照 xfire 自带的例子 xfire-1.2.6\examples\book
1. 业务实体:Book.java
package com.neil.xfire.demobook; /** * @author <a href="mailto:wjhdtx@hotmail.com">Neil</a> */ // START SNIPPET: book public class Book { private String title; private String isbn; private String author; public String getIsbn() { return isbn; } public void setIsbn(String isbn) { this.isbn = isbn; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getAuthor() { return author; } public void setAuthor(String author) { this.author = author; } } // END SNIPPET: book
2. 服务接口:BookService.javapackage com.neil.xfire.demobook;
import java.util.Map; /** * * Service finding books * * @author <a href="mailto:wjhdtx@hotmail.com">Neil</a> * */ public interface BookService { /** * returns array of the books * @return all books */ public Book[] getBooks(); /** * Find book by id * @param isbn isbn number * @return found book * @throws BookException cos tam */ public Book findBook(String isbn) throws BookException; /** * return book map * @return all book as map */ public Map getBooksMap(); }
3. com/neil/xfire/demobook/BookService.aegis.xml:对服务类的提供的方法(方法的参数个数、类型,
返回值的类型)进行描述
<mappings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xfire.codehaus.org/schemas/1.0/mapping.xsd"> <mapping> <method name="findBook"> <parameter index="0" mappedName="isbn"/> <return-type mappedName="book" /> </method> <method name="getBooksMap"> <return-type mappedName="BookMap" keyType="java.lang.String"componentType="com.neil.xfire.demobook.Book" /> </method> </mapping> </mappings>
三。spring 的相关配置文件&xfire-servlet.xml:本 web 应用包含了 webservice 的服务端以及客户端,下面 spring 的配置文件也有服务端和客户端之分,现在都放到一个 web 应用当中。
<一>服务端的:
1. WEB-INF/spring/applicationContext-webService.xml: <?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="bookBean" class="com.neil.xfire.demobook.BookServiceImpl"></bean> </beans>
注:由于是例子,Book 等 Bean 没有放到 spring 配置文件中,以后可扩充
2. WEB-INF/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> <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <property name="urlMap"> <map> <entry key="/BookService.ws"> <ref bean="bookXFireExporter"/> </entry> </map> </property> </bean> <bean id="bookXFireExporter" parent="webService" class="org.codehaus.xfire.spring.remoting.XFireExporter"> <property name="serviceBean"> <ref bean="bookBean"/> </property> <property name="serviceClass"> <value>com.neil.xfire.demobook.BookService</value> </property> </bean> <!-- webService base --><bean id="webService" class="org.codehaus.xfire.spring.remoting.XFireExporter" abstract="true"> <property name="serviceFactory"> <ref bean="xfire.serviceFactory" /> </property> <property name="xfire"> <ref bean="xfire" /> </property> </bean> </beans>
注:bean id="webService" 为通用的 bean
<二>客户端的:
1. WEB-INF/spring/webService-Client.xml: <?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="bookWebService" class="org.codehaus.xfire.spring.remoting.XFireClientFactoryBean"> <property name="serviceClass"> <value>com.neil.xfire.demobook.BookService</value> </property> <property name="wsdlDocumentUrl"> <value>http://localhost:7777/xfire_spring_book/BookService.ws?wsdl</value> </property> </bean> </beans>
2. 模拟客户端页面文件:webserviceTest.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ page import="com.neil.util.SpringFactoryUtil,com.neil.xfire.demobook.*" %> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>WebService Client Page</title><meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body> <br/> The result from web service are:<br/> <% try { BookService service = (BookService)SpringFactoryUtil.getBeanFromFactory(request, "bookWebService"); Map booksMap = service.getBooksMap(); out.print("Received map with "+booksMap.size()+" book(s) <br/>"); out.println("--------------------------<br/>"); Book[] books = service.getBooks(); out.println("BOOKS:<br/>"); for (int i = 0; i < books.length; i++) { out.println(books[i].getTitle()+"<br/>"); } out.println("--------------------------<br/>"); Book xfireBook = service.findBook("0123456789"); out.println(xfireBook.getAuthor()+"|"+xfireBook.getTitle()+"|"+xfireBook.getIsbn()+"<br/>"); out.println("--------------------------<br/>"); // Throw Exception service.findBook(""); } catch (BookException e) { out.print(e.getFaultInfo().getDetailMessage()); } %> </body></html>
【下载地址】
百度网盘链接:https://pan.baidu.com/s/1EgRafEJ2gygzt74aAwaRzQ
提取码:yy64
相关文章
使用-JFreeChart来创建基于web的图表
XStream使用文档
WebService发布过程及常见问题
webpack实战入门进阶调优分享
weblogic调优参数及监控指标
weblogic节点管理
weblogic管理控制台概述
weblogic-部署和启动
WebLogic-Server-性能及调优-调优-Java-虚拟机
Java 虚拟机(Java virtual machine,简称 JVM)是一种虚拟“执行引擎”实例,可在微处理器上执行 Java 类文件中的字节码。调整 JVM 的方式会影响 Weblogic Server 和应用程序的性能。
Velocity是一个基于java的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象。
Velocity 用户手册是帮助页面设计者和内容提供者认识 Velocity 和其简单而功能强大的脚本语言――Velocity 模板语言(VTL)。在手册上的许多例子,都是用 Velocity 插入动态的内容到网页上,但是所有的 VLT 例子都能应用到其他的页面和模板中。
FlashFXP绿色版网盘下载,附激活教程 1764
FlashFxp百度网盘下载链接:https://pan.baidu.com/s/1MBQ5gkZY1TCFY8A7fnZCfQ。FlashFxp是功能强大的FTP工具
Adobe Fireworks CS6 Ansifa绿色精简版网盘下载 1553
firework可以制作精美或是可以闪瞎眼的gif,这在广告领域是需要常用的,还有firework制作下logo,一些原创的图片还是很便捷的,而且fireworks用法简单,配合dw在做网站这一块往往会发挥出很强大的效果。百度网盘下载链接:https://pan.baidu.com/s/1fzIZszfy8VX6VzQBM_bdZQ
navicat for mysql中文绿色版网盘下载 1616
Navicat for Mysql是用于Mysql数据库管理的一款图形化管理软件,非常的便捷和好用,可以方便的增删改查数据库、数据表、字段、支持mysql命令,视图等等。百度网盘下载链接:https://pan.baidu.com/s/1T_tlgxzdQLtDr9TzptoWQw 提取码:y2yq
火车头采集器(旗舰版)绿色版网盘下载 1701
火车头采集器是站长常用的工具,相比于八爪鱼,简洁好用,易于配置。火车头能够轻松的抓取网页内容,并通过自带的工具对内容进行处理。站长圈想要做网站,火车头采集器是必不可少的。百度网盘链接:https://pan.baidu.com/s/1u8wUqS901HgOmucMBBOvEA
Photoshop(CS-2015-2023)绿色中文版软件下载 1816
安装文件清单(共46G)包含Window和Mac OS各个版本的安装包,从cs到cc,从绿色版到破解版,从安装文件激活工具,应有尽有,一次性打包。 Photoshop CC绿色精简版 Photoshop CS6 Mac版 Photoshop CC 2015 32位 Photoshop CC 2015 64位 Photoshop CC 2015 MAC版 Photoshop CC 2017 64位 Adobe Photoshop CC 2018 Adobe_Photoshop_CC_2018 Photoshop CC 2018 Win32 Photoshop CC 2018 Win64