[英]How to make android application consume JAX Jersey Web Service running on tomcat on same machine
我是新手,需要一些帮助...
我刚刚设法使用Jersey + JSON运行Java动态Web应用程序Web服务,并使用Android开发人员工具Eclipse击中mysql数据库。Tomcat7目前可以正常运行webservice,并且可以通过带有参数的浏览器URL与数据库进行交互...我也有一个正在运行的Android应用程序,该应用程序具有我需要通过Web服务存储在mysql db中的数据...
我一直在搜索很多教程,这些教程使用了几种不同的框架而没有运气,我很困惑...我用android应用程序运行了一个Eclipse,通过USB连接的android手机以调试模式运行了一个eclipse。使用Jersey和Tomcat7的动态Web应用程序Web服务...
如何使我的客户端android应用消耗在同一台开发机上运行的Web服务?
在此先多谢!
您可以使用任意数量的http / rest客户端库。 您甚至可以使用标准Java,而无需任何库(使用java.net
包中的类)
使用java.net
包类的示例
URL url = new URL("http://blah.com/messages/1");
connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setRequestProperty("Accept", "application/xml");
if (connection.getResponseCode() != 200) {
throw new BetterLuckNextTimeException(...);
}
BufferedReader reader = new BufferedReader(
new InputStreamReader(connection.getInputStream())
);
// read
connection.disconnect();
然后是非常流行的Apache HttpClient库 。 从链接中查看快速入门和教程。 该下载还随附了一份PDF格式的良好用户指南。
一些样品
CloseableHttpClient httpclient = HttpClients.createDefault();
HttpGet httpGet = new HttpGet("http://blah.com/messages/1");
CloseableHttpResponse response = httpclient.execute(httpGet);
try {
System.out.println(response1.getStatusLine());
HttpEntity entity1 = response1.getEntity();
// do something useful with the response body
// and ensure it is fully consumed
EntityUtils.consume(entity1);
} finally {
response.close();
}
当然,还有JAX-RX实现的客户端库。 从上一篇文章看来,您正在使用Jersey。 由于您尚未解释哪个版本,因此,我仅向您指出可以找到更多信息以及代码段的方向。
Jersey 2.13客户端API-客户端API随Jersey发行版一起提供,如果在后端使用Jersey, 则应具有该版本。
泽西岛1.18客户端API-应该包括相同的交易。
如果您尝试使用其中任何一种,并且遇到麻烦,请发布一个完整的示例来演示问题。 包括1)样本后端资源类。 2)客户端代码3)任何相关的错误/异常消息4)您包括的所有jar归档文件(如有必要)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.