登录模块加载中...
会员投稿 投稿指南 今天是:
打印本页 | 关闭窗口 | 双击滚屏 您的位置首页>>网页制作学习园地>>NET教程>>WebService开发>>webservice学习笔记——理解篇
webservice学习笔记——理解篇
来源: ‖ 作者: ‖ 点击: ‖ 时间:12-09-26 11:39:17 ‖ 【 】‖ 我要投稿
【IT168 技术文档】

七、命令行开发过程
   通过以上的学习,我们知道如何在ant脚本和ide环境中开发一个简单的webservice.
但是作为搞技术的人特别是搞c的人来看,上面的过程隐藏了太多的东西,
对我们有钻研精神的人,自然就想搞清楚脚本背后的过程。
假设我们的机器上没有ide环境和ant工具,
我们如何“手工”编译出自己的webservice呢?
这就是本节要讲述的内容--只用命令行工具开发webservice.

0、设置环境变量
 把jdk和javaee的路径如
 D:\Java\jdk1.6.0
 D:\Sun\SDK\bin加到系统的path变量中去

1、建立项目目录
 首先建立一个项目的目录,名为WebTest,项目目录下又包含三个子目录
  src\      本目录用于存放源代码,
  build\    本目录用于存放输出的文件
  deploy\   本目录用于对服务器打包
  
2、编写服务器类实现文件
  在项目的src目录下建立一个个子目录endpoint,
  在这个endpoint子目录下新建一个Hello.java文件,内容如下
 
 /*src\endpoint\Hello.java文件  
  提供webservice的服务器端实现类
 */

package endpoint; import javax.jws.WebService; import javax.jws.WebMethod; @WebService public class Hello { @WebMethod public String getHello(String name) { return "Hello " + name + "!"; } }


3、编译服务器类
 ①在build目录下建立一个子目录classes
   ②在命令行执行如下命令
    cd WebTest  ;进入项目目录
    javac -classpath d:/Sun/SDK/lib/javaee.jar -d ./build/classes src/endpoint/Hello.java  ;编译服务器类
   执行完后会产生一个build\classes\endpoint\Hello.class文件
 
4、生成wsdl文件
 ①在build目录下建立一个子目录generated
 ②生成wsdl文件,执行
  wsgen -cp ./build/classes -keep -d ./build/classes -r ./build/generated -wsdl  endpoint.Hello
 
 执行完成会在./build/generated产生两个文件
 HelloService.wsdl
 HelloService_schema1.xsd
 并且在\build\class\endpoint下建立一个jaxws目录,下面有4个文件
 GetHello.java                       
 GetHello.class
 GetHelloResponse.java
 GetHelloResponse.class
 
 这些文件与与前面所说的ant脚本中生成的
 D:\Sun\SDK\domains\domain1\generated\ejb\j2ee-modules\endpoint_Hello\endpoint\jaxws
 下的文件相同
 
5、将服务器打包,做成war文件
 ①建立打包所需要的目录
    在项目的deploy目录下建立一个子目录/WEB-INF,
   WEB-INF子目录下再建立两个子目录
    classes/  用于存放服务器端类
    wsdl/     用于存放wsdl文件

 ②将各输出文件或目录拷贝到相应的目录下
  (1)把build\classes\endpoint整个目录拷贝到deploy/WEB-INF/class目录下
  (2)把build\generated目录下的两个文件
   HelloService.wsdl、HelloService_schema1.xsd拷贝到
      deploy/WEB-INF/wsdl目录下
 ③在deploy/WEB-INF/ 目录下新建一个web.xml文件,内容为

xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:j2ee="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <description>WebTier for the Hello Servicedescription> <display-name>HelloWARdisplay-name> <servlet> <description>Endpoint for Hello Web Servicedescription> <display-name>HelloWebServicedisplay-name> <servlet-name>Helloservlet-name> <servlet-class>endpoint.Helloservlet-class> <load-on-startup>0load-on-startup> servlet> <servlet-mapping> <servlet-name>Helloservlet-name> <url-pattern>/HelloServiceurl-pattern> servlet-mapping> <session-config> <session-timeout>54session-timeout> session-config> web-app>
|<< << < 1 2 3 4 > >> >>|
加入收藏:  加入收藏夹  | 发送给好友:  发送给好友
责任编辑:admin
相关文章列表
请文明参与讨论,禁止漫骂攻击。  
网友评论