webservice初识
? ? 看来最经app很火,好多同事都要么转向android开发,要么做android接口开发。而我就现在做web service 开发。做web service 之前只是听过这个名词而已,但并不知道它是做什么的。今天看了下才知道原来他就是将整个应用对外提供一个接口,然后由其它应用调用,然后返回对应的数据。有一个典型的例子就是天气预报。由于天气预报是国家气象局提供,所以如果我们想将自己的程序也嵌入天气预报,这该怎怎么办呢?有两种办法:第一种就是自己弄一套检测天气的设备然后供自己程序调用,但是这样成本太贵(可以忽略)。第二种:就是气象局对外提供一个接口,使用者将城市和时间传入,然后气象局返回当天城市的天气。这样就简单了吧。 ? ? 上面就是web service,但是需要说明的是,上面所说的接口并不是java中的接口定义,上面说的接口实质上就是一个url。这样的话我们就可以通过这个url来达到我们想要的目的,而且这样可以做到跨平台,跨语言。因为它遵守的是tcp/ip协议,所以它并不限于语言,这样的话就可以有助于大大提高应用的可扩展性。而浏览器就是封装java的socket编程。 socket的server编程: package com.dongbest.server; import java.io.InputStream; import java.net.ServerSocket; import java.net.Socket; public class Server { public static void main(String[] args) throws Exception { ServerSocket serverSocket = new ServerSocket(9999); Socket socket = serverSocket.accept(); byte[] bytes = new byte[1024]; InputStream inputStream = socket.getInputStream(); int length; StringBuffer sb = new StringBuffer(); while ((length = inputStream.read(bytes)) != -1) { String str = new String(bytes,length); sb.append(str); } System.out.println(sb.toString()); System.out.println("服务器端已启动"); inputStream.close(); } } socket的client编程: package com.dongbest.server; import java.io.OutputStream; import java.net.Socket; public class Client { public static void main(String[] args) throws Exception { Socket socket = new Socket("localhost",9999); OutputStream outputStream = socket.getOutputStream(); String s = "dongbest"; outputStream.write(s.getBytes()); outputStream.flush(); outputStream.close(); } } 做完才知道原来浏览器就是对java socket的一层封装。而且web service就是对外提供一个url,然后返回json数据(也有人说是xml)。这样就可以了,至于你的service用什么语言编写,怎么编写都不重要。所以你从java后台开发转到web service来只是分分钟的事,关键是心里别怕。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |