Android系统不能访问自己Tomcat服务器下项目原因
今天做Android的一个下载功能,用自己机子上的tomcat做服务器,在tomcat上下载东西,可是android系统老是提示错误说不能连接到我的tomcat,可是我明明启动了tomcat服务啊,而且代码我也检查了好就变了,没有错啊,这可是把我给郁闷坏了,相信很多初学者都会有这样的经历,呵呵...真是不知所措,挺让人郁闷的,我在这里和大家分享一下解决方法,呵呵...找到我这篇文章你就算是找到解决办法了。
原因其实很简单,
开始我的链接写的是:http://127.0.0.1:8090/项目的名字/文件的名字,坐过java开发的人都会想到是这样写的,因为是本机啊,127.0.0.1就是本机,或者是用localhost,这是一样的,如果你是有局域网的,那用局域网的本地ip就不会有这个问题了,关键就是我们就是用家里的自己,局域网,就会出现这个错误。
02-18 14:47:47.957: WARN/System.err(406): java.net.ConnectException: /127.0.0.1:8090 - Connection refused
02-18 14:47:47.976: WARN/System.err(406): at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:237)
02-18 14:47:47.976: WARN/System.err(406): at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:521)
02-18 14:47:47.976: WARN/System.err(406): at java.net.Socket.connect(Socket.java:1019)
02-18 14:47:47.976: WARN/System.err(406): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection.<init>(HttpConnection.java:67)
02-18 14:47:47.989: WARN/System.err(406): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnectionManager$ConnectionPool.getHttpConnection(HttpConnectionManager.java:151)
02-18 14:47:47.989: WARN/System.err(406): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnectionManager.getConnection(HttpConnectionManager.java:73)
02-18 14:47:47.997: WARN/System.err(406): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnection.getHTTPConnection(HttpURLConnection.java:826)
02-18 14:47:47.997: WARN/System.err(406): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:812)
02-18 14:47:47.997: WARN/System.err(406): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1054)
02-18 14:47:47.997: WARN/System.err(406): at com.down.HttpDownloader.download(HttpDownloader.java:38)
02-18 14:47:47.997: WARN/System.err(406): at com.mp3.Mp3ListActivity.downloadXml(Mp3ListActivity.java:50)
02-18 14:47:47.997: WARN/System.err(406): at com.mp3.Mp3ListActivity.onOptionsItemSelected(Mp3ListActivity.java:38)
这是我错误信息的一部分,红色部分说的很明显了,连不上这个地址,后来查了一下,原来在android中10.0.2.2地址就是对本机的映射。
这是关键,所以我们只需要把ip改成这个地址,没问题了。呵呵...