课外阅读web服务的部署与实现_第1页
课外阅读web服务的部署与实现_第2页
课外阅读web服务的部署与实现_第3页
课外阅读web服务的部署与实现_第4页
课外阅读web服务的部署与实现_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 web服务的实现服务的实现l1. WebWeb服务平台的搭建服务平台的搭建l2. tomcat简介简介l3. axis简介简介l4. JDK简介简介l5. web服务平台的搭建和服务平台的搭建和web服务实例服务实例1 1. web服务平台的搭建服务平台的搭建运行环境HTTP容器服务容器服务服务服务HTTP服务器服务服务服务容器WebService容器 环境搭建环境搭建运行环境HTTP容器服务容器服务服务服务JVMTomcatAXIS服务服务服务软件需求软件需求lAxislTomcatlJDK Tomcat 在在web服务中的作用服务中的作用lTomcat Apache组织提供的开源web服

2、务器,支持jsp、servletl在在WebService体系中的作用体系中的作用 在WebService体系中,tomcat负责接受http消息请求,根据地址将消息内容转发至相应的应用处理,将处理结果以http消息的形式返回至客户端 AXIS 在在web服务中的作用服务中的作用lAXIS Apache组织提供的开源服务容器,由多种语言版本.lAXIS在在WebService体系中的作用体系中的作用 Axis接收到请求消息后,根据服务名查找配置文件得到实现类,再使用消息中提供的方法名、参数产生调用,调用完成得到结果,将结果封装成SOAP消息返回给tomcat JDKJDK在在webweb服务中

3、的作用服务中的作用lJDK全称为全称为Java Development Toolkit.lJDK就象就象JAVA家族家族(java、jsp、servlet)的操作系统的操作系统,为所有,为所有Java应用提供编译和运行环境,其中核心部应用提供编译和运行环境,其中核心部件是件是Java虚拟机虚拟机.lJDK中提供了很多基本的类库,供开发者使用中提供了很多基本的类库,供开发者使用. 2. Tomcatl2.1 Tomcat2.1 Tomcat服务器介绍服务器介绍l2.2 Web2.2 Web应用应用l2.3 Tomcat2.3 Tomcat部署部署WebWeb应用应用8l 进行进行Web开发,需要

4、安装一台开发,需要安装一台Web服务器,服务器,开发的开发的Web资源要发布在资源要发布在Web服务器中,即资源服务器中,即资源交由交由Web服务器管理,从而供用户通过浏览器访服务器管理,从而供用户通过浏览器访问问.l Web开发属于浏览器(开发属于浏览器(Browser)访问服务)访问服务器(器(Server)的模式,)的模式,web开发是开发是B/S结构程序的结构程序的开发开发. 2.1 Tomcat2.1 Tomcat服务器介绍服务器介绍2.1.1Java Web开发常用开发常用Web服务器服务器lWebLogic是是BEA公司的产品,是目前应用最广泛的公司的产品,是目前应用最广泛的商业

5、用商业用Web服务器,支持服务器,支持JavaEE规范,启动界面如规范,启动界面如图图:lIBM公司公司WebSphere,支持,支持JavaEE规范,启动界面规范,启动界面如图如图l小型小型Java Web应用可以使用一个免费的应用可以使用一个免费的Web服务器服务器Tomcat,该服务器支持,该服务器支持JSP以及以及Servlet规范,规范,启动界面如图:启动界面如图: Tomcat服务器说明服务器说明lTomcat是一个是一个JSP/Servlet容器,同时具有容器,同时具有Web服务服务器的部分功能,不支持器的部分功能,不支持JavaEE的全部技术规范,比的全部技术规范,比如如EJB

6、2.1.3 Tomcat服务器下载和安装服务器下载和安装lTomcat官方站点:官方站点: /l获取获取Tomcat安装程序包安装程序包 tar.gz文件是Linux操作系统下的安装版本 exe文件是Windows系统下的安装版本 zip文件是Windows系统下的压缩版本l安装安装Tomcat 6.0 Tomcat是用Java语言编写的程序 安装Tomcat之前,首先安装JDK默认不安装Examples选择完全(Full)安装安装过程:选择完全(Full)安装监听HTTP访问请求的端口号,Tomcat默认配置的是80808080安装过程:配置监听

7、端口号http:/:/这种配置情况下,外界浏览器想要访问我们安装的Tomcat服务器,浏览器地址栏URL形式应为Tomcat所在服务器的主机名(或IP地址):8080:8080安装过程:定位JRE安装Tomcat前首先安装JDK,Tomcat安装时会自动定位验证Tomcat安装成功l启动启动Tomcat服务服务 控制台方式:bin目录下tomcat6.exe 窗口方式:bin目录下tomcat6w.exe验证验证Tomcat安装成功安装成功l在本机上访问在本机上访问Tomcat(平时开发、试验时)(平时开发、试验时) http:/localhost:8080 llocalhost:本机服务器名

8、(主机名) :8080l:本机服务器IP地址验证验证Tomcat安装成功安装成功l远程访问远程访问Tomcat(Tomcat部署在远程主机上)部署在远程主机上) http:/Tomcat所在服务器主机名:8080 http:/Tomcat所在服务器IP地址:8080本机访问方式出现此界面表示安装成功2.1.4 Tomcat目录结构目录结构存放启动和关闭 Tomcat 的脚本文件存放 Tomcat 服务器的各种配置文件存放 Tomcat 服务器的支撑jar 包存放 Tomcat 的日志文件存放 Tomcat 运行时产生的临时文件web应用所在目录,

9、即供外界访问的web资源的存放目录Tomcat 的工作目录2.2 Web应用应用lWeb应用(程序、系统):应用(程序、系统): 基于Web技术的应用程序; 通俗理解:Web应用程序是指供浏览器访问的程序,简称web应用,或web工程l从开发角度,从开发角度,Web应用:应用: Java Web应用 .Net Web应用 PHP 其它Java Web应用应用l一个一个Java Web应用由多个静态应用由多个静态web资源和动态资源和动态web资源组成:资源组成: html、css、js文件 jsp、java程序、支持jar包 配置文件 组成web应用的这些文件,通常使用一个目录来组织,这个目录

10、称之为web应用所在目录Java Web应用的标准组织结构应用的标准组织结构l一个标准一个标准Java Web应用,不同类型的文件资源有严应用,不同类型的文件资源有严格的存放规则格的存放规则Web应用所在目录这些文件通常放在web应用根目录之下,外界可以直接访问WebWeb应用所在目录html,jsp,js,css等文件WEB-INFWEB-INF 目录 classesclasses 目录liblib目录web.xmlweb.xml文件WEB-INF目录存放java源程序文件、jar包、web应用配置文件;放置java源程序文件放置jar包文件针对该Web应用的配置文件l红色标注文件的写法:严

11、格遵守,包括大小写红色标注文件的写法:严格遵守,包括大小写WebWeb应用所在目录html,jsp,js,css等文件WEB-INFWEB-INF 目录 classesclasses 目录liblib目录web.xmlweb.xml文件查看webapps下Tomcat自带的ROOT应用和examples应用的组织结构 2.3 Tomcat部署部署Web应用应用l2.3.1 主机站点和主机站点和Web应用应用l2.3.2 Tomcat自动部署自动部署Web应用应用l2.3.3 Tomcat手工部署手工部署Web应用应用2.3.1主机站点和主机站点和Web应用应用lWeb服务器安装后,就相当于建立

12、了一个服务器安装后,就相当于建立了一个Web服务器服务器主机站点,一个主机站点,一个主机站点主机站点下可以发布多个下可以发布多个Web应用应用lURL地址中的第一个正斜杠地址中的第一个正斜杠“/”,表示主机站点的根,表示主机站点的根目录,它对应目录,它对应Web服务器本地文件系统中的一个目录服务器本地文件系统中的一个目录l不同不同Web服务器配置的主机站点根目录有所不同服务器配置的主机站点根目录有所不同 Tomcat配置的站点根目录:Tomcat安装目录webappslTomcat安装之后,如下安装之后,如下 URL里的第一个里的第一个“/”代表本代表本机机Tomcat主机站点的根目录,对应本

13、地文件系统的主机站点的根目录,对应本地文件系统的webapps目录目录l问题:对于一个开发好的问题:对于一个开发好的web应用,我们可以把它部应用,我们可以把它部署在署在Tomcat服务器的什么地方,以供外界浏览器能服务器的什么地方,以供外界浏览器能够访问?够访问?myAppWeb应用所在目录其中包含各类Web资源http:/localhost:8080/ /webappsmyApp1.htmlhttp:/localhost:8080/ /http:/localhost:8080/ /myApphttp:/localhost:8080/ /myApp/1.html“/”称为虚拟根目录地址栏中的

14、目录是虚拟的对应到服务器一个实际路径示例2.3.2 部署部署Web应用应用自动方式自动方式l把把Web应用目录结构拷贝到应用目录结构拷贝到Tomcat特定目录特定目录(站点(站点根目录根目录webapps)下,即可完成)下,即可完成web应用的部署,这应用的部署,这种部署称之为种部署称之为hot-deployment(热部署)或者(热部署)或者 auto-deployment(自动部署)(自动部署)2.3.3 部署部署Web应用应用手工方式手工方式l可以把可以把Web应用部署在任意目录之下,对于应用部署在任意目录之下,对于Web服务服务器本地文件系统中的任意一个器本地文件系统中的任意一个实际目

15、录实际目录,欲让其可以,欲让其可以被客户端浏览器访问,需要将该实际目录映射成被客户端浏览器访问,需要将该实际目录映射成URL地址栏里的一个地址栏里的一个虚拟目录虚拟目录lTomcat中配置虚拟目录的基本方式:在中配置虚拟目录的基本方式:在/conf/server.xml文件中文件中元素内设置元素内设置元素元素lContext:代表一个Web应用server.xmllTomcat安装目录安装目录/conf/server.xml: 针对Tomcat服务器的行为进行配置的文件server.xml初步解析初步解析 在此配置Context元素一个Context元素代表一个Web应用针对http协议访问请

16、求的监听端口号配置一个主机名localhost主机站点默认根目录webapps目录下web应用自动部署元素配置主机站点和主机站点之下的web应用Context元素元素lServer.xml文件中一个文件中一个元素用于将本地文元素用于将本地文件系统中的一个实际路径映射成一个可供件系统中的一个实际路径映射成一个可供Web浏览器浏览器访问的虚拟目录访问的虚拟目录 path属性:指定一个虚拟目录(以“/”开头) docBase属性:指定虚拟目录所映射到的本地实际路径(通常即Web应用所在目录) Tomcat需要重启,配置才生效l通常,修改服务器的各类配置文件,需要重启才能生效e:myApp1.html

17、http:/localhost:8080/ /ahttp:/localhost:8080/ /a/1.html虚拟目录对应的本地实际路径地址栏中的虚拟目录采用手工配置,虚拟目录名和实际目录名一般保持一致Context的写法说明的写法说明Context path docBase严格区分大小写(XML文件区分大小写)少了结束标记 /(动手实验)配置文件写法有错的后果:配置不起作用,甚至有时导致服务器无法正常启动何谓何谓Web部署(发布)?部署(发布)?l将将Web服务器本地文件系统中的某个服务器本地文件系统中的某个Web应用的实际应用的实际目录映射成一个虚拟目录映射成一个虚拟Web目录的过程就叫做

18、目录的过程就叫做Web(应(应用)部署用)部署(也称之为(也称之为Web发布)发布)l通过通过Web发布,客户端浏览器便能够在发布,客户端浏览器便能够在URL地址栏里地址栏里以虚拟目录的形式访问以虚拟目录的形式访问Web应用的实际资源应用的实际资源l实际开发,通常采用自动部署方式实际开发,通常采用自动部署方式l理解虚拟目录的作用:映射至本地文件系统的实际路理解虚拟目录的作用:映射至本地文件系统的实际路径径配置默认配置默认Web应用、首页、端口应用、首页、端口l该部分内容自学完成该部分内容自学完成 理解以下URL是如何访问的http:/localhost:8080http:/ 小结小结lWeb基

19、础知识基础知识 重点:理解URL构成部分的含义,访问过程l:/ lTomcat的安装和访问的安装和访问lTomcat的目录组织结构的目录组织结构 本节涉及到的:lbin目录lconf目录lwebapps目录 小结小结lWeb应用的概念应用的概念 标准Java Web应用的目录结构lTomcat部署(发布)部署(发布)Web应用应用 主机站点和Web应用的关系 自动部署:Tomcat的自动部署目录(webapps) 手工部署:confserver.xml中Context元素的作用 理解Web发布的含义:将实际Web应用目录映射为URL地址栏中一个虚拟目录的过程 初步理解server.xml文件(

20、元素) 3. Axis简介简介 l全称是全称是Apache Extensible Interaction System.lAxis是是Apache SOAP的第三方产品的第三方产品lAxis本质上是一个本质上是一个SOAP引擎,即构造客户,服务器引擎,即构造客户,服务器,网关等,网关等SOAP处理模式的框架处理模式的框架. Axis简介简介lAxis不单单是一个不单单是一个SOAP引擎,同时包括:引擎,同时包括: 一个简单而卓越的服务器 一个可以插入Servlet引擎(如Tomcat)的服务器 对WSDL的广泛支持 可以从WSDL生成Java类的工具 一些例子程序 一个监控TCP/IP包的工具

21、 Axis简介简介lAxis包的核心部件组成:包的核心部件组成: axis.jar和axis-ant.jar 实现axis的核心包 jaxrpc.jar Java API for XML-based RPC saaj.jar lSOAP with Attachments API for Java commons-discovery.jar commons-logging.jar log4j-1.2.4.jar wsdl4j.jar axis的WSDL辅助工具包 Axis简介简介lAxis的一些辅助类(不在的一些辅助类(不在Axis安装包内):安装包内): xerces.jarlJava API

22、 for XML Processing (必须) activation.jarlJavaBeans Activation Framework (必须) mail.jarlMail API for java (可选) xmlsec.jarlXML Security API (可选) servlet.jarl实现Servlet的核心包 (必须)5.用用Java 、 tomcat 、Axis开发开发Web服务服务 webweb服务平台的搭建过程服务平台的搭建过程l第一步:下载第一步:下载tomcat、axis、java,安装,安装javal第二步:解压第二步:解压tomcat至某个目录至某个目录l第

23、三步:解压第三步:解压AXIS,将其中的一个目录(,将其中的一个目录(axis)拷贝)拷贝到到tomcat的的webapps目录下目录下l第四步:启动服务器第四步:启动服务器环境配置环境配置l为为Axis创建创建Web应用应用l安装安装Axis必须的类库必须的类库l设置环境变量设置环境变量l启动启动Web服务器服务器环境配置环境配置 - 创建创建Web应用应用l解压缩解压缩xml-axis-10.zip,可以得到一个,可以得到一个Web应用目录应用目录(webapps),这些就是),这些就是Axis的所有核心部件。的所有核心部件。l直接复制该直接复制该webapps目录到目录到tomcat的安

24、装根目录,的安装根目录,在在tomcat的的webapps中得到一个中得到一个axis的子目录,也就的子目录,也就是是Axis应用的入口。应用的入口。 如果遇到axis无法通过浏览器访问的情况,需要在confserver.xml里面添加访问入口:环境配置环境配置 安装类库安装类库l在在Tomcat的的webappsaxisweb-inflib中只有中只有Axis的的8个核心类库。个核心类库。lxerces.jar包也要放入该目录,下载地址:包也要放入该目录,下载地址:/dist/xerces-j/lxmlsec.jar也考虑放入上面所说的目录,下载地址:

25、也考虑放入上面所说的目录,下载地址:/security/dist/xml-security-bin-1_0_4.ziplactivation.jar、mail.jar、servlet.jar在在tomcat 4.1.18里面已经存在,位于里面已经存在,位于commonlib下。下。环境配置环境配置 设置环境变量设置环境变量l有两类环境变量需要设置,这些变量在后面的应用中有两类环境变量需要设置,这些变量在后面的应用中会用到会用到. 添加axis.jar、commons-discovery.jar、commons-logging.jar、jaxrpc.jar

26、、saaj.jar、log4j-1.2.4.jar、wsdl4j.jar、xerces.jar、servlet.jar添加到Windows系统环境变量的classpath变量当中; 添加JDK的根目录+bin,如d:jdk1.4.1bin添加到Windows系统环境变量的path变量当中;环境配置环境配置 启动启动Web服务器服务器l如果如果tomat以服务方式运行,需要在以服务方式运行,需要在“控制面板管控制面板管理工具服务理工具服务”里面重新启动服务。里面重新启动服务。l如果如果tomcat从从“开始程序开始程序Apache Tomcat 4.1”中点击中点击“Start Tomcat”重

27、新启动或者在重新启动或者在tomcat的安的安装目录下的装目录下的bin目录中点击目录中点击startup.bat文件直接启动文件直接启动。l如果事先已经启动,需要点击如果事先已经启动,需要点击bin下的下的shutdown.bat关闭服务器。关闭服务器。测试环境测试环境l打开浏览器,地址栏键入下面的打开浏览器,地址栏键入下面的URL,应该可以看到,应该可以看到Axis的欢迎界面的欢迎界面. http:/localhost:8080/axisl点击页面中的点击页面中的Validate链接,查看链接,查看Axis环境的安装情环境的安装情况,包括况,包括Axis核心和可选组件的清单以及系统相关属核

28、心和可选组件的清单以及系统相关属性性.l点击页面中的点击页面中的View链接,来查看当前系统中已经部署链接,来查看当前系统中已经部署的的Web服务的列表服务的列表. 继续点击列表中某个服务后面的链接,可以得到对应服务的WSDL描述文件.测试环境测试环境 测试服务测试服务l有以下几种方式对已有服务进行测试:有以下几种方式对已有服务进行测试: 用HTTP GET方式测试Version服务的getVersion方法.l在地址栏键入下面的URL即可,http:/localhost:8080/axis/services/Version?method=getVersion 对JWS服务进行测试,这是以ja

29、va源文件形式部署的Web服务,直接将java文件复制到tomcat的webappsaxis目录下,后缀改为jws即完成服务部署,axis会自动对其编译。访问axis下的EchoHeaders.jws.l在地址栏键入下面的URL即可看到调用的情况:http:/localhost:8080/axis/EchoHeaders.jws?method=list部署服务部署服务l分为三个步骤:分为三个步骤: 把要部署的服务的类文件和库文件分别拷贝到axisweb-inf的classes和lib目录中,同时注意保持带包类文件的目录结构. (重新) 启动Tomcat 告诉Axis Engine这些新部署的服

30、务.l这一步需要利用axis提供的Admin服务,提交一个基于XML的部署描述文件给axis。这个WSDD文件告诉axis我们所部署的服务的名称,实现了服务的类的名称,服务提供的函数,有权访问服务的用户等.部署服务部署服务 向向axis注册服务注册服务l在在axis解压后的目录中找到解压后的目录中找到samplesstock目录下的目录下的deploy.wsdd文件,这就是部署文件,这就是部署Stock服务需要告诉服务需要告诉axis的部署描述器,格式参见参考资料。的部署描述器,格式参见参考资料。 首先把该目录下的所有class文件拷贝到tomcat的webappsaxisweb-infcla

31、ssessamplesstock下,保持了samplesstock的包结构;启动tomcat。 将ms-dos目录调整到axis解压后的samplesstock下,执行下面的命令以完成注册:ljava org.apache.axis.client.AdminClient deploy.wsdd使用服务使用服务l测试前面部署的服务,采用测试前面部署的服务,采用axis提供的核心提供的核心Servlet服服务完成:务完成: 在ms-dos中输入指令java samples.stock.GetQuote -lhttp:/localhost:8080/axis/servlet/AxisServlet

32、-uuser1 -wpass1 XXX,得到结果55.25.l需要注意的是,必须保证java.exe可以找到samples/stock/GetQuote.class文件l请参考samplesstock下的所有java源文件.撤销服务撤销服务l部署之后的服务可以进行反部署,也就是撤销服务,部署之后的服务可以进行反部署,也就是撤销服务,同样需要向同样需要向axis提交服务描述文件提交服务描述文件undeploy.wsdd,不过内容有所不同,具体格式见参考资料。不过内容有所不同,具体格式见参考资料。 将ms-dos目录调整到axis解压后的samplesstock下,执行下面的命令以撤销注册:lja

33、va org.apache.axis.client.AdminClient undeploy.wsddl请留意注册服务和撤销服务前后请留意注册服务和撤销服务前后Axis服务列表的变化服务列表的变化情况情况.一步步做自己的一步步做自己的Web服务服务 - 1l书写书写Hello服务的接口文件:服务的接口文件: package samples.Hello; public interface Hello lpublic String sayHello(String yourname); l编译该接口文件,需要带包编译:编译该接口文件,需要带包编译: javac -d . Hello.java 得到s

34、amplesHelloHello.class一步步做自己的一步步做自己的Web服务服务 - 2l执行执行Java2WSDL生成服务的生成服务的WSDL文件:文件: java org.apache.axis.wsdl.Java2WSDL -o hello.wsdl -lhttp:/localhost:8080/axis/services/HelloService -n urn:Hello -psamples.Hello=urn:Hello samples.Hello.Hello 得到hello.wsdl文件,也就是HelloService的服务描述文件.一步步做自己的一步步做自己的Web服务服务

35、 - 3l执行执行WSDL2Java得到服务的所有绑定,包括客户端得到服务的所有绑定,包括客户端和服务器端:和服务器端: java org.apache.axis.wsdl.WSDL2Java -o . -d Session -s -S true -Nurn:Hello samples.Hello hello.wsdl 得到的文件列表如下:lHello.java、HelloService.java、HelloServiceLocator.java、HelloServiceSoapBindingStub.java、HelloServiceSoapBindingImpl.java、HelloSer

36、viceSoapBindingSkeleton.java、deploy.wsdd、undeploy.wsdd.l注意:注意:hello.wsdl所在的全路径不能包含中文所在的全路径不能包含中文一步步做自己的一步步做自己的Web服务服务 - 4l用用WSDL2Java生成的文件说明:生成的文件说明: 服务器和客户端文件lHello.java 新的派生自java.rmi.Remote的接口类 客户端文件lHelloService.java 服务接口类lHelloServiceLocator.java 服务实现类,调用stub类lHelloServiceSoapBindingStub.java 客户

37、stub,实现Hello接口 服务器端文件lHelloServiceSoapBindingImpl.java 缺省的服务实现类,用户需要修改此文件,完成自己的服务lHelloServiceSoapBindingSkeleton.java 服务skeleton,代理对服务的调用 服务部署描述文件ldeploy.wsdd 部署服务文件lundeploy.wsdd 撤销服务文件一步步做自己的一步步做自己的Web服务服务 - 5l修改服务器端服务实现文件,完成服务的编写:修改服务器端服务实现文件,完成服务的编写: package samples.Hello; public class HelloService

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论