最近在研究Android虚拟机访问tomcat服务器资源,所以找了个时间写下这篇博客和大家分享一下心得。
其实Android虚拟机访问tomcat服务器非常的简单,只要不要弄错IP地址就可以访问tomcat服务器上的资源了。为什么要注意IP地址呢?那是因为Android本身就是一个系统,如果我们使用localhost或者127.0.0.1在Android*问本地tomcat服务器那是不成功的。上述的两个地址是你电脑的主机地址而不是Android的主机地址。对此,Android对电脑的主机地址映射为10.0.2.2。
好了,不多说了。用图片来证明,有图有真相。
首先当然是启动tomcat服务器,我的tomcat服务器是6.0的且在MyEclipse中配置好了。直接在MyEclipse中启动就可以了。至于怎么安装和配置tomcat服务器,自己动手百度一下就有很多教程。在这里就赘述了。
启动成功后控制台会输出如下信息:
接下来我们打开IE浏览器或者其它的浏览器亦可(我的是Google浏览器),并在地址栏上输入localhost:8080或127.0.0.1::8080(8080为服务器端口号,自己亦可以在tomcat的conf文件下的server.xml上配置端口号),结果如下图所示:
输入localhost:8080:并回车
输入127.0.0.1::8080并回车
出现上述的tomcat服务器主界面同时也证明了服务器启动成功了。
接下来就是访问服务器上的资源了,先用浏览器访问tomcat资源。在MyEclipse中新建一个名为ConnectTest的web工程,并向工程里面放入一张图片:
接下来我们打开浏览器输入http://localhost:8080/ConnectTest/girl.png并回车 结果如下:
至此用IE浏览器访问tomcat服务器上的资源成功了。接下来就是用Android虚拟机来访问tomcat服务器上的资源了。
启动Android虚拟机并打开虚拟机上的浏览器输入localhost:8080或者127.0.2.2:8080,结果如下:
从上图可以知道在Android虚拟机中输入localhost:8080或者127.0.2.2:8080是无法访问本地tomcat服务器的,如果连服务器都访问不了,更别说服务器上的资源了。怎么办呢?虚拟机该如何访问本地tomcat服务器呢?开头也已经说过了,Android虚拟机将电脑的IP地址映射为10.0.2.2。那不妨试试,结果如下:
上图表明Android虚拟机成功的访问本地tomcat服务器,至于访问服务器上的资源和在IE浏览器是一样的,只不过是IP地址换成了10.0.2.2:8080。那么就用Android虚拟机上的浏览器访问刚才创建并发布的web工程里的girl.png图片,在浏览器上输入http://10.0.2.2:8080/ConnectTest/girl.png 结果如下图:
好了,我们已经成功的用虚拟机访问本地tomcat服务器上的资源了。下次编写Android应用的时候我们只要注意一下IP地址的设置就可以了。当然不要忘了在你的应用的AndroidManifest.xml配置文件下加入访问网络的权限:
<uses-permission android:name="android.permission.INTERNET" />
转自:http://blog.****.net/joker_ya/article/details/39371691