一. 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绿色版网盘下载,附激活教程 2667
FlashFxp百度网盘下载链接:https://pan.baidu.com/s/1MBQ5gkZY1TCFY8A7fnZCfQ。FlashFxp是功能强大的FTP工具
Adobe Fireworks CS6 Ansifa绿色精简版网盘下载 2513
firework可以制作精美或是可以闪瞎眼的gif,这在广告领域是需要常用的,还有firework制作下logo,一些原创的图片还是很便捷的,而且fireworks用法简单,配合dw在做网站这一块往往会发挥出很强大的效果。百度网盘下载链接:https://pan.baidu.com/s/1fzIZszfy8VX6VzQBM_bdZQ
navicat for mysql中文绿色版网盘下载 2289
Navicat for Mysql是用于Mysql数据库管理的一款图形化管理软件,非常的便捷和好用,可以方便的增删改查数据库、数据表、字段、支持mysql命令,视图等等。百度网盘下载链接:https://pan.baidu.com/s/1T_tlgxzdQLtDr9TzptoWQw 提取码:y2yq
火车头采集器(旗舰版)绿色版网盘下载 2488
火车头采集器是站长常用的工具,相比于八爪鱼,简洁好用,易于配置。火车头能够轻松的抓取网页内容,并通过自带的工具对内容进行处理。站长圈想要做网站,火车头采集器是必不可少的。百度网盘链接:https://pan.baidu.com/s/1u8wUqS901HgOmucMBBOvEA
Photoshop(CS-2015-2023)绿色中文版软件下载 2497
安装文件清单(共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