1,先google一下下载一个tomcat,我下载的是这个版本apache-tomcat-6.0.30
2,再次google一下百度也行,下载一个eclipse的tomcat插件,我用的是tomcatPluginV32.zip。解压之后直接放入eclipse的plugin文件夹下面,然后重启eclipse(之后觉的这个步骤好像没什么用)
3,然后启动tamcat,即运行bin文件夹下的startup.bat文件,我的目录是D:/Download/Tomcat/apache-tomcat-6.0.30/apache-tomcat-6.0.30/bin/startup.bat
4,然后把要从服务器读取的文件放到webapps文件夹下面,我的存放目录是D:/Download/Tomcat/apache-tomcat-6.0.30/apache-tomcat-6.0.30/webapps/
1)这个目录是tomcat默认的访问地址当然自己也可以指定,修改tomcat下conf文件夹下的server.xml, 即 D:/Download/Tomcat/apache-tomcat-6.0.30/apache-tomcat-6.0.30/conf/server.xml,
修改server.xml中 <Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
为
<Host name="localhost" appBase="D:/360Downloads/tomcat/"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
appBase=""这里面的值可以修改为自己电脑的任何地方,我的就放在了D:/360Downloads/tomcat/下
2)修改之后,在代码中通过Url = "http://localhost:8080/"l就直接可以访问D:/360Downloads/tomcat/下的文件了,比如访问D:/360Downloads/tomcat/tomcat.svg, url="http://localhost:8080/tomcat.svg"就可以从本地服务器读取该文件了
3)为了确保通过此地址可以访问该文件,可以在浏览器中输入"http://localhost:8080/tomcat.svg"验证一下,前提是tomcat已经启动,第3点中已经说过
5,别忘了在Project工程中的AndroidManifest.xml中加上这个权限:<uses-permission android:name="android.permission.INTERNET" ></uses-permission> 这个权限我开始没加浪费我10多分钟
6,联网代码是这样写的
public static String getContent(String url) throws Exception{StringBuilder sb = new StringBuilder();HttpClient client = new DefaultHttpClient();HttpParams httpParams = client.getParams();//设置网络超时参数HttpConnectionParams.setConnectionTimeout(httpParams, 3000);HttpConnectionParams.setSoTimeout(httpParams, 5000);HttpResponse response = client.execute(new HttpGet(url));HttpEntity entity = response.getEntity();if (entity != null) {BufferedReader reader = new BufferedReader(new InputStreamReader(entity.getContent(), "UTF-8"), 8192);String line = null;while ((line = reader.readLine())!= null){sb.append(line + "/n");}reader.close();}return sb.toString();}
7, 在点击run运行工程之前要把代码中的url="http://localhost(或者127.0.0.1):8080/tomcat.svg"改为url="http://10.0.0.2:8080/tomcat.svg"
如果不修改会报一个错,描述为连接被拒绝,为什么?问题是这样的,android模拟器(simulator)把它自己作为了localhost,也就是说,代码中使用localhost或者127.0.0.1来访问,都是访问模拟器自己!这是不行的!
如果你想在模拟器simulator上面访问你的电脑,那么就使用android内置的IP 10.0.2.2 吧, 10.0.2.2 是模拟器设置的特定ip,是你的电脑的别名alias记住,在模拟器上用10.0.2.2访问你的电脑本机. |