服务端的思考
概述
我們思考發布一個web服務需要做的工作,并進行職責的劃分。
職責的劃分
通常我們會先制定抽象的接口,然后根據接口構造實現類。接口和實現類都完成了,再實施發布。所以,服務端的角色可以劃分為:服務接口、服務實現、服務發布者。
服務端的實現
功能:將阿拉伯數字轉換成中文數字序列。
服務接口
package cn.ljl.sand.jws.chapter1.service;import javax.jws.WebParam; import javax.jws.WebResult; import javax.jws.WebService;@WebService public interface InterpretService {@WebResult(name = "chnum") // 默認的result的name是returnpublic String interpret(@WebParam(name = "num")/* 默認的參數名是arg0, arg1... */int num); }注意:
用以指定返回結果的名稱,不指定則默認為return
用以指定參數的名稱,不指定則默認為arg0, arg1...
服務實現類
package cn.ljl.sand.jws.chapter1.service;import javax.jws.WebService;@WebService(endpointInterface = "cn.ljl.sand.jws.chapter1.service.InterpretService") public class InterpretServiceImpl implements InterpretService {public static final String[] CH_NUMS = // 強制格式化換行{ "零", "一", "二", "三", "四", "五", "六", "七", "八", "九" };@Overridepublic String interpret(int num) {StringBuilder builder = new StringBuilder(Integer.toString(num).length());for (int digit = num % 10; num > 0; num = num / 10, digit = num % 10) {builder.append(CH_NUMS[digit]);}builder.reverse();return builder.toString();} }?
注意:服務發布者
package cn.ljl.sand.jws.chapter1.service;import javax.xml.ws.Endpoint;public class InterpretServicePublisher {public static void main(String[] args) {String address = "http://localhost:6666/service/interpret";InterpretService service = new InterpretServiceImpl();Endpoint.publish(address, service);} }?
根據代碼可知,wsdl的URL是http://localhost:6666/service/interpret?wsdl。可以在瀏覽器輸入這個地址,瀏覽下其內容。但是我們還沒有準備好對其進行解釋。客戶端測試
轉載于:https://www.cnblogs.com/ywjy/p/5153203.html
總結
- 上一篇: MySQL5.6 PERFORMANCE
- 下一篇: 云桌面优缺点_云桌面真的是办公最佳选择吗