看来最经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来只是分分钟的事,关键是心里别怕。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。