文章导航PC6首页软件下载单机游戏安卓资源苹果资源

pc软件新闻网络操作系统办公工具编程服务器软件评测

安卓新闻资讯应用教程刷机教程安卓游戏攻略tv资讯深度阅读综合安卓评测

苹果ios资讯苹果手机越狱备份教程美化教程ios软件教程mac教程

单机游戏角色扮演即时战略动作射击棋牌游戏体育竞技模拟经营其它游戏游戏工具

网游cf活动dnf活动lol周免英雄lol礼包

手游最新动态手游评测手游活动新游预告手游问答

您的位置:首页技术开发JSP 学院 → 在Java EE Server中实现Web服务的教程

在Java EE Server中实现Web服务的教程

时间:2008/12/31 9:20:00来源:本站整理作者:我要评论(0)

现在,我们开始在应用服务器上部署一个与前例类似的Web服务。为了能够运行本节的例子,我们需要从http://java.sun.com/javaee/downloads/index.jsp 处下载一个Windows平台下的Java EE 5 Update 4应用服务器(java_ee_sdk-5_04-windows-nojdk.exe)。

安装并启动服务器

如果您的机器上安装有最新版的JDK,您可以选择下载nojdk的安装版本,否则,您需要下载”Java EE+JDK”的版本。双击下载的exe文件,安装到您的本地硬盘(安装目录路径中最好不要有空格和怪字符)。

启动Java EE服务器的缺省域非常简单,您只需要从”程序”菜单中选择”Start Default Server”即可。

Start -> All Programs -> Sun Microsystems -> Java EE 5 SDK -> Start Default Server

服务器启动后,您可以在浏览器输入下列地址,验证一下您的服务器是否已经启动。

http://127.0.0.1:8080/

有时,您会发现,使用命令行方式启动服务器比较简单,首先,您需要进入下面的目录路径下,执行下列命令:

 

cd %J2EE_HOME%\lib
asadmin-pause start-domain domain1


 

其中,J2EE_HOME是您机器上Java EE Server的安装目录。

服务器端和客户端代码

您可以在ch03\01_JaxWs\JavaEEServer\src目录下找到本节使用的服务器及客户端的源代码文件(译者注:本书代码请从http://www.packtpub.com/files/code/3216_Code.zip处下载),下面是对这些源代码的解释:

HelloWebService.java

HelloWebService类中也使用了Java注解,这些注解的意思和前面的例子相同,此处不再赘述。

 

@WebService 
public class HelloWebService { 
  private static int times; 
  public HelloWebService() { 
    System.out.println("Inside HelloWebService.HelloWebService..."); 
  } 
  public String hello(String param) { 
    System.out.println("Inside HelloWebService.hello... - " + (++times)); 
    return "Return From Server : Hello " + param; 
  } 
}


 

Client.java

客户端的代码非常简单:

 

public class Client { 
  @WebServiceRef(wsdlLocation= 
 "http://localhost:8080/HelloWebService/HelloWebServiceService?WSDL") 
  static HelloWebServiceService service; 
  public static void main(String[] args) { 
    Client client = new Client(); 
    client.test(); 
  } 
  public void test() { 
    try { 
        HelloWebService helloWebServicePort = service 
            .getHelloWebServicePort(); 
        String ret = helloWebServicePort.hello(System 
            .getProperty("user.name")); 
        System.out.println("Hello result = " + ret); 
    } catch (Exception e) { 
        e.printStackTrace(); 
    } 
  } 
}


 

上面的代码中,我们使用了javax.xml.WebServiceRef注解,该注解声明了一个已发布的Web服务的引用,而@WebServiceRef使用wsdlLocation元素指明了HelloWebService这个服务的WSDL文件的位置;接下来,客户端就可以获取远程服务的代理,从而通过代理调用Web服务方法。

运行服务器和客户端

为了简单起见,本例中我们也不对该服务进行打包,而只是直接将Web服务的实现类编译后放到Java EE Server的autodeploy目录中,及%J2EE_HOME%\domains\domain1\autodeploy目录。

我们可以用一个ant命令执行以下三步:

  (1)编译服务器端和客户端代码
    (2)把服务器端类部署到缺省域中
    (3)运行客户端程序,向服务器端发送Web服务请求

现在,假定您的Java EE服务器已经启动并运行,请到本章的源代码目录下,执行下列命令:

 

cd ch03\01_JaxWS\JavaEEServer
ant


 

上面命令执行后,控制台上的输出,您可以看到,客户端首先向服务器发送请求,然后,服务器的响应会打印在客户端的控制台上。

当然,您也可以在浏览器中输入http://localhost:8080/HelloWebService/HelloWebServiceService?WSDL,来访问上面已经部署的Web服务的WSDL。

相关视频

    没有数据

相关阅读 Dungreed怎么加点 Dungreed天赋加点攻略Genesis激活码怎么申请 Genesis创世争霸激活码获得方法Slave's Sword游戏攻略 Slave's Sword新手入门技巧Mac怎么卸载iTunes Mac怎么卸载自带iTunescionee是什么牌子手机华为nova4发布会直播地址 华为nova4手机发布会直播网址lol新英雄万花通灵妮蔻怎么样 lol新英雄neeko技能展示DeepOne游戏攻略 DeepOne攻略顺序

文章评论
发表评论

热门文章 没有查询到任何记录。

最新文章 Java中Servlet获得异步 Java中Servlet获得异步支持java递归实现文件的删除和拷贝innerHTML怎样失焦判断FreeMarker和Jsp的应用范围

人气排行 java如何远程登录linux并执行其命令教你用jsp写反弹的shellFreeMarker和Jsp的应用范围Java 7关于#的用法jsp统计在线人数代码Java短信发送机的实现如何用java连接数据库方法Java中Servlet获得异步支持