Java WebService简单实例

一、搭建一个webservice服务器

  (1)创建一个web项目。这里我创建了一个项目名为TheService。

  (2)在src下的com.linkwide.service(自己创建的包名)下创建一个HelloWorldService接口。

  •     package com.linkwide.service;
  •     import javax.jws.WebMethod;
  •     import javax.jws.WebService;
  •       //使用@WebService注解标注HelloWorldService接口
  •       @WebService
  •       public interface HelloWorldService {
  •         @WebMethod
  •         public String sayHello(String name,Integer age);   
  •       }

  (3)在src下创建com.linkwide.service.impl(自己创建的包名)下创建一个HelloWorldServiceImpl类实现HelloWorldService接口

    package com.linkwide.service.impl;

    import javax.jws.WebService;

    import com.linkwide.service.HelloWorldService;
    @WebService
    public class HelloWorldServiceImpl implements HelloWorldService{

      @Override
      public String sayHello(String name, Integer age) {
          // TODO Auto-generated method stub
          return "Hello!我是" + name + "今年" + age + "岁";
      }

  }

  (4)在src下创建一个com.linkwide.main(自己创建的包名)下创建一个TheServicePublish类,用于发布webservice服务

    package com.linkwide.main;

    import javax.xml.ws.Endpoint;

    import com.linkwide.service.impl.HelloWorldServiceImpl;

    public class TheServicePublish {
    
      public static void main(String[] args) {
        
        //定义WebService的发布地址,这个地址就是提供给外界访问Webervice的URL地址,URL地址格式为:http://ip:端口号/xxxx
        String address = "http://127.0.0.1:9000/TheService";
        //使用Endpoint类提供的publish方法发布WebService,发布时要保证使用的端口号没有被其他应用程序占用
        Endpoint.publish(address, new HelloWorldServiceImpl());
        System.out.println("发布成功");


       }
    
    }

  (5)运行main方法,webservice服务发布成功。

二、编写客户端调用程序。

     (1)在编写客户端代码前,首先生成一个wsdl文件。(右击HelloWorldServiceImpl类  --  Web Services -- create Web Serivce -- 直接finish就ok,在WebContent下面将生成一个wsdl文件夹包括一个wsdl文件)

     (2)创建一个Web Service Client 项目(在选择wsdl的地方选择刚刚生成的wsdl文件,直接生成项目)

     (3)在src下创建 ClientMain类用于调用调用服务端方法测试

     package com.linkwide.client;

    import java.rmi.RemoteException;

    import javax.xml.namespace.QName;
    import javax.xml.rpc.ParameterMode;

   import org.apache.axis.client.Call;
   import org.apache.axis.client.Service;
   import org.apache.axis.encoding.XMLType;

   public class ClientMain {

      public static void main(String[] args) {
          // TODO Auto-generated method stub
          Service service = new Service();  
          Call call = null;  
          try {  
              call = (Call) service.createCall();  
          } catch (Exception e) {  
              e.printStackTrace();  
          }  
        //调用方法
        String methodName = "sayHello";
        QName qn = new QName("http://impl.service.linkwide.com/",methodName);  
        call.setOperationName(qn);  
        String endpoint = "http://127.0.0.1:9000/TheService?wsdl";
        call.setTargetEndpointAddress(endpoint);  
        call.setUseSOAPAction(true);  
        String result = "";  
        try {  
            // 给方法传递参数,并且调用方法  
            call.addParameter("arg0", XMLType.XSD_STRING, ParameterMode.IN);
            call.addParameter("arg1", XMLType.XSD_INTEGER, ParameterMode.IN);
            result = (String) call.invoke(new Object[] {"小青青","100"});  
        } catch (RemoteException e) {  
              e.printStackTrace();  
        }  
        System.out.println("result is " + result);  
      }

  }

(4)运行main方法。

 result is Hello!我是小青青今年100岁。

这样就成功了。

     

    



以下是一个简单JavaWeb 项目完整案例: 项目名称:图书管理系统 技术栈:Java、Servlet、JSP、MySQL、Tomcat 功能模块: 1. 用户登录:用户输入用户名和密码登录系统。 2. 图书查询:用户可以根据图书名称、作者、出版社等信息查询图书。 3. 图书借阅:用户可以选择图书进行借阅,并记录借阅时间和归还时间。 4. 图书归还:用户可以归还已借阅的图书,并更新归还时间。 5. 用户管理:管理员可以对用户进行添加、修改、删除等操作。 6. 图书管理:管理员可以对图书进行添加、修改、删除等操作。 7. 借阅记录查询:管理员可以查询借阅记录,包括借阅时间、归还时间等信息。 8. 统计报表:管理员可以生成图书借阅统计报表,包括借阅次数、借阅时间等信息。 实现步骤: 1. 数据库设计:设计数据库表结构,包括用户表、图书表、借阅记录表等。 2. 编写 JavaBean:编写 JavaBean 类,包括用户类、图书类、借阅记录类等。 3. 编写 DAO 层:编写数据访问层代码,实现对数据库的增删改查等操作。 4. 编写 Servlet:编写 Servlet 类,处理用户请求,调用 DAO 层代码进行数据操作。 5. 编写 JSP:编写 JSP 页面,展示数据和用户界面。 6. 部署项目:将项目部署到 Tomcat 服务器上,测试项目功能。 以上是一个简单JavaWeb 项目完整案例。当然,实际项目可能会更加复杂,需要考虑更多的业务需求和技术实现细节。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值