您的位置: 首页 - 站长

html5 wap网站如何用ps做网站导航

当前位置: 首页 > news >正文

html5 wap网站,如何用ps做网站导航,临沂网络网站建设,企业网站一般要素目录 概述环境搭建cxf示例wsdl2java#xff08;重要#xff09;JaxWsServerFactoryBeanJaxWsServerFactoryBean和ServerFactoryBean的区别使用JaxWsServerFactoryBean调用接口服务类拦截输入输出消息 在web项目中创建类的cxf服务#xff08;重点#xff09;在web项目中创建… 目录 概述环境搭建cxf示例wsdl2java重要JaxWsServerFactoryBeanJaxWsServerFactoryBean和ServerFactoryBean的区别使用JaxWsServerFactoryBean调用接口服务类拦截输入输出消息 在web项目中创建类的cxf服务重点在web项目中创建接口的cxf服务修改cxf-servlet.xml的位置和文件名使用jquery调用cxf 概述 Apache CXF Celtix Xfire 有以下特点 支持SOAP1.1和1.2支持HTTPCORBACommon Object Request Broker Architecture公共对象请求代理体系结构,早期语言使用的WSCcC#并可以与Spring进行快速无缝的整合灵活的部署可以运行有Tomcat,Jboss,Jetty(内置),IBMWS,BeaWS上面cxf可以在接口上加webservice注解对接口的支持比较好 目录的结构详情如下 bin目录 bin 目录中是 CXF 框架中所提供的代码生成、校验、管理控制台工具可执行命令 docs目录 CXF 所有类class对应的 API 文档为开发者使用 CXF 完成应用开发提供应有的帮助。 etc目录 包含一个基本的 Service 暴露所需要的 web.xml 文件及其它的配置文件。 lib目录 lib 目录中包含 CXF 及其运行时所需要的和可选的第三方支持类包.jar 文件可以根据不同项目所需的 CXF 特性选择所需要的支持类包。 如果不想一一去区分的话可以直接在 Web 项目中包含所有的 CXF 及其运行时所需要的第三方支持类包.jar 文件即可。 其中 cxf-2.0.2-incubator.jar 是 CXF 框架的二进制包文件包含了全部的模块modulescxf-manifest-incubator.jar 是列表清单文件manifest jar。 以下的 jar 包是所有 CXF 项目所必需的 cxf.jar commons-logging.jar geronimo-activation.jar (Or the Sun equivalent) geronimo-annotation.jar (Or the Sun equivalent) geronimo-javamail.jar (Or the Sun equivalent) neethi.jar jaxb-api.jar jaxb-impl.jar stax-api.jar XmlSchema.jar wstx-asl.jar xml-resolver.jar 对于 Java2WSDL 和 WSDL2Java除了必需的之外还需要再增加如下 jar 包 jaxb-xjc.jar veliocity.jar velocity-dep.jar 为了支持 JAX-WS 除了必需的之外还需要再增加如下 jar 包 jaxws-api.jar saaj-api.jar saaj-impl.jar asm.jar 可选的但是可以提升包装类型的性能 为了支持 XML 配置除了必需的之外还需要再增加如下 jar 包 aopalliance.jar spring-beans.jar spring-context.jar spring-core.jar spring.web.jar 为了独立的 HTTP 服务支持除了必需的之外还需要再增加如下 jar 包 geronimo-servlet.jar jetty.jar jetty-sslengine.jar jetty-util.jar sl4j.jar sl4j-jdk14.jar 可选的但是可以提升日志 logging 为了支持 Aegis 除了必需的之外还需要再增加如下 jar 包 jaxen.jar jdom.jar stax-utils.jar 为了支持 WS-Security 除了必需的之外还需要再增加如下 jar 包 bcprov-jdk14.jar wss4j.jar xalan.jar xmlsec.jar 为了支持 HTTP Binding 除了必需的之外还需要再增加如下 jar 包 jra.jar jettison.jar 仅为 JSON 服务所需的 licenses目录 列表了引用第三方 jar 包的相关许可协议。 modules目录 modules 目录中包含了 CXF 框架根据不同特性分开进行编译的二进制包文件。发布基于 CXF 框架的 Web 项目时可以选择使用该目录下的所有 .jar 文件也可以选择 lib 目 录中的 cxf-2.0.2-incubator.jar 文件。 samples目录 samples 目录中包含了所有随 CXF 二进制包发布的示例包含这些示例的源代码和相关 Web 应用配置文件可以方便地用 Ant 来编译运行测试这些示例来了解 CXF 的开发和 使用的方法。可以通过 samples 目录和它各个子目录下的 README.txt 的文件来详细了解示例的编译与运行的步骤。 环境搭建 需要jdk的支持 配置环境变量CXF_HOME 需要ant的支持配置ANT_HOME 配置环境变量CATALINA_HOME 配置环境变量Path Path%JAVA_HOME%\bin;%CXF_HOME%\bin;%CATALINA_HOME%\bin;%ANT_HOME%\bin配置环境变量CLASSPATH CLASSPATH.;%CXF_HOME%\lib\cxf-manifest.jar;.\build\classescxf示例 1.创建java项目 2.引入所有依赖包 3.创建服务类 WebService BindingType(valuejavax.xml.ws.soap.SOAPBinding.SOAP11HTTP_BINDING) public class HelloService {public static void main(String[] args) {//创建服务工厂对象//ServerFactoryBean sfb new ServerFactoryBean(); JaxWsServerFactoryBean sfb new JaxWsServerFactoryBean ();//设置服务地址sfb.setAddress(http://127.0.0.1:7777/hello);//设置服务类sfb.setServiceClass(HelloService.class);//设置服务对象的实例sfb.setServiceBean(new HelloService());//发布服务sfb.create();} public String sayHello(String name){return name hello;} }4.通过wsimportSOAP1.1生成客户端代码 5.调用webservice服务 wsdl2java重要 在cxf中也提供了一个用于生成客户端调用代码的工具。它的功能就如同wsimport一样的指令。 先让我们了解一下cxf的wsdl2java工具可以生成一堆客户端调用的代码既可以生成SOAP1.1也可以生成SOAP1.2。 此工具位于cxf_home/bin目录下参数与wsimport有所不同。 d参数指定代码生成的目录。p参数指定生成的新的包结构。 需要说明的是由于wsdl2java生成的本地代码所以需要对生成的代码做一点点修改。 示例
JaxWsServerFactoryBean JaxWsServerFactoryBean和ServerFactoryBean的区别 ServerFactoryBean 服务类上不需要加注解服务类中没有发布的方法不会报错缺点生成的wsdl的文档的命名不规范很重要 JaxWsServerFactoryBean 发布的服务类上必须要加WebService服务类中没有发布的方法不会报错但是wsdl无效生成的wsdl的文档是规范的 public static void publishWSWithServerFactoryBean(){//创建cxf发布的服务对象ServerFactoryBean sfb new ServerFactoryBean();//设置服务的类sfb.setServiceClass(PersonService.class);//设置服务地址sfb.setAddress(http://localhost:5555/hello);//设置服务类对象//sfb.setServiceBean(new PersonService());//发布sfb.create();}public static void publishWSWithJaxWsServerFactoryBean(){//创建cxf发布的服务对象JaxWsServerFactoryBean sfb new JaxWsServerFactoryBean();//设置服务的类sfb.setServiceClass(PersonService1.class);//设置服务地址sfb.setAddress(http://localhost:6666/hello);//设置服务类对象sfb.setServiceBean(new PersonService1());//发布sfb.create();}使用JaxWsServerFactoryBean调用接口服务类 1.创建服务接口 WebService//注意注解加在接口上 public interface HI {public String sayHi(String name); }2.创建接口实现类 public class HIImpl implements HI {Overridepublic String sayHi(String name) {// TODO Auto-generated method stubreturn name hello;} }3.创建发布服务类 public static void main(String[] args) {JaxWsServerFactoryBean jf new JaxWsServerFactoryBean();jf.setAddress(http://127.0.0.1:5555/hi);jf.setServiceClass(HI.class);jf.setServiceBean(new HIImpl());jf.create();}4.生成客户端代码 5.调用客户端 public class Client {public static void main(String[] args) {HIService hs new HIService();HI serviceClass hs.getHIPort();System.out.println(serviceClass.sayHi(张三));} }拦截输入输出消息 LoggingInInterceptor – 信息输入时的拦截器 –请求 LoggingOutInterceptor – 信息输出时的拦截器 - 响应public class InterServer {public static void main(String[] args) {JaxWsServerFactoryBean jf new JaxWsServerFactoryBean();jf.getInInterceptors().add(new LoggingInInterceptor());jf.getOutInterceptors().add(new LoggingOutInterceptor());jf.setAddress(http://127.0.0.1:5555/hi);jf.setServiceClass(HI.class);jf.setServiceBean(new HIImpl());jf.create();} }在web项目中创建类的cxf服务重点 1.创建web项目 2.导入所有包 3.创建服务类,必须指定注解webService 4.创建cxf的核心配置文件cxf-servlet.xml用于配置第三步写好的服务类或者是接口 ?xml version1.0 encodingUTF-8? beans xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xmlns:jaxwshttp://cxf.apache.org/jaxwsxmlns:jaxrshttp://cxf.apache.org/jaxrs xmlns:cxfhttp://cxf.apache.org/corexsi:schemaLocationhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://cxf.apache.org/jaxrs http://cxf.apache.org/schemas/jaxrs.xsdhttp://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsdhttp://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd!– 引入CXF Bean定义如下,早期的版本中使用 –import resourceclasspath:META-INF/cxf/cxf.xml /import resourceclasspath:META-INF/cxf/cxf-extension-soap.xml /import resourceclasspath:META-INF/cxf/cxf-servlet.xml /jaxws:endpoint idhello address/hello implementorcom.rl.cxf.web.server.HelloServicejaxws:outInterceptorsbean classorg.apache.cxf.interceptor.LoggingInInterceptor/bean/jaxws:outInterceptorsjaxws:inInterceptorsbean classorg.apache.cxf.interceptor.LoggingOutInterceptor/bean/jaxws:inInterceptors/jaxws:endpoint /beans5.配置web.xml !DOCTYPE web-app PUBLIC -//Sun Microsystems, Inc.//DTD Web Application 2.3//EN http://java.sun.com/dtd/web-app_2_3.dtd web-appservletservlet-namecxf/servlet-nameservlet-classorg.apache.cxf.transport.servlet.CXFServlet/servlet-class/servletservlet-mappingservlet-namecxf/servlet-nameurl-pattern/services//url-pattern/servlet-mappingsession-configsession-timeout60/session-timeout/session-config /web-app在web项目中创建接口的cxf服务 1.创建服务接口在接口上加webservice 2.创建服务接口的实现类 3.在web.xml中配置CXFServlet 4.配置cxf-servlet.xml jaxws:server idbye address/bye serviceClasscom.rl.cxf.web.inter.ByeInterjaxws:serviceBeanbean classcom.rl.cxf.web.inter.ByeInterImpl/bean/jaxws:serviceBeanjaxws:outInterceptorsbean classorg.apache.cxf.interceptor.LoggingInInterceptor/bean/jaxws:outInterceptorsjaxws:inInterceptorsbean classorg.apache.cxf.interceptor.LoggingOutInterceptor/bean/jaxws:inInterceptors /jaxws:server5.使用wsdl2java生成客户端代码 6.调用webservice 修改cxf-servlet.xml的位置和文件名 第一种方式 !DOCTYPE web-app PUBLIC -//Sun Microsystems, Inc.//DTD Web Application 2.3//EN http://java.sun.com/dtd/web-app_2_3.dtd web-appservletservlet-namecxf/servlet-nameservlet-classorg.apache.cxf.transport.servlet.CXFServlet/servlet-classinit-paramparam-nameconfig-location/param-nameparam-valueclasspath:cxf.xml/param-value/init-paramload-on-startup1/load-on-startup/servletservlet-mappingservlet-namecxf/servlet-nameurl-pattern/services//url-pattern/servlet-mapping /web-app第二种方式 !DOCTYPE web-app PUBLIC -//Sun Microsystems, Inc.//DTD Web Application 2.3//EN http://java.sun.com/dtd/web-app_2_3.dtd web-applistenerlistener-classorg.springframework.web.context.ContextLoaderListener/listener-class/listenercontext-paramparam-namecontextConfigLocation/param-nameparam-valueclasspath:cxf.xml/param-value/context-paramservletservlet-namecxf/servlet-nameservlet-classorg.apache.cxf.transport.servlet.CXFServlet/servlet-class/servletservlet-mappingservlet-namecxf/servlet-nameurl-pattern/services/*/url-pattern/servlet-mapping /web-app使用jquery调用cxf \((function(){\)(#mybutton).click(function(){var data soapenv:Envelope xmlns:soapenvhttp://schemas.xmlsoap.org/soap/envelope/ xmlns:q0http://server.web.cxf.rl.com/ xmlns:xsdhttp://www.w3.org/2001/XMLSchema xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancesoapenv:Bodyq0:sayHello arg0sss/arg0 /q0:sayHello/soapenv:Body/soapenv:Envelope;\(.ajax({url:http://localhost:8080/cxf-web-server/services/hello,type:post,dataType:xml,contentType:text/xml;charsetUTF-8,data:data,success:function(responseText){alert(\)(responseText).find(return).text());},error:function(){alert(error);}})})})