刚开始做Tomcat的开发,需要用Android设备访问Tomcat服务器。这里遇到几个问题。首先是,android端报错,无法创建httpClient对象。

//1.生成HttpClient对象并设置参数CloseableHttpClient httpClient=HttpClients.createDefault();

报错:编译都没有问题,但是一运行就会报错:java.lang.NoClassDefFoundError: ..........意思是运行的时候找不到HttpClients,怎么new都是这么个错误。菜鸟没办法啊,到处找资料。。。。。

这里是jar包图:

出现这个问题,我查阅了一下关于httpclient的资料:httpClient for android apatch,上面有一段写的比较清楚。This project represents an effort to provide an implementation of Apache HttpClient, which can be deployed on Google Android in parallel to the outdated version shipped with the platform while remaining partially API compatible with Apache HttpClient 4.3.   这里指出了google是怎么坑开源软件的,发了一顿牢骚,其实4.3.6的版本支持的不是很好。然后就下了一个4.4的jar包。


创建代码:

DefaultHttpClient httpClient = new DefaultHttpClient();// 执行httpGet请求HttpResponse response = httpClient.execute(httpGet);String staturs = response.getStatusLine().toString();
可以看一下,现在返回状态是200,OK了。
接下来就是访问Tomcat的操作了,这里我就不介绍怎么搭建Tomcat了,有一些比较好的文章,我都贴出来,大家自己看了。

Android网络(3):HttpClient作客户端,Tomcat Servlet作服务器的交互示例     来自:yanzi1225627    csdn原创

eclipse中安装tomcat插件     

这里讲一下怎么开始吧,首先,我配置的是让eclipse去启动tomcat,如图有几个小猫在eclipse上:


我是让访问Tomcat的时候,无论你是从浏览器访问还是从Android端访问,都是访问的eclipse目录下的工程文件夹,也就是说,我的项目并没有部署到Tomcat的目录下去。你打开tomcat主目录的conf下有个server.xml文件( Tomcat/conf/server.xml  ),你会看到最后面有句这样子的话。


这句话是由项目下的web.xml文件覆盖tomcat的conf目录下web.xml文件起到作用的。文件如下:

<?xml version="1.0" encoding="ISO-8859-1"?>            BikeServer        com.gdut.bikeServer.BikeServer                BikeServer        /BikeServer                index.jsp    
关于web.xml这个文件到底干什么用,我们需要仔细研究一下,给一些参考资料: web.xml 中的listener、 filter、servlet 加载顺序及其详解

顺便,我们还需要了解一下,tomcat的各个目录结构到底是怎么样的,参考资料:tomcat下各文件夹的作用

以上都是作为一个参考而已。下面我说一下我遇到的一个问题吧,其实也是由于不清楚Tomcat在eclipse工程下的运作机制才导致的。

当我在使用Json格式传送数据的时候,会出现一些运行时错误,Java Runtime Error,错误的类型也是编译可以通过,但是运行就报错找不到类,开始以为是Json的JAR包不对,换了很多包,都显示报错。

这个错误是由于,我没有在eclipse工程下的WEB-INF/lib 目录下添加我的Json的jar包,只是所以出现了错误,这种错误对于小白来说,是摸不着头脑,明明在build path中添加了,编译也通过为什么就是出错呢?很郁闷。添加了之后就好了。

这些问题都是由于不清楚Tomcat+servlet开发造成的,囧死了,所以大家还是多看看资料,扎实一下基本功吧。普通java servlet的开发不同于android开发。
OVER。。。。写下来,自己记着。


更多相关文章

  1. Http的请求方式
  2. 自定义加载动画的两种实现方式
  3. Android(安卓)自定义RadioButton的样式
  4. Android引包出现Duplicate class com.xxx.xxx found in modules
  5. Android(安卓)Values文件作用及使用方法
  6. Android应用程序获取system权限
  7. android下载文件下载不完全解决方案
  8. AndroidStudio插件集合
  9. Error generating final archive: Debug certificate expired on

随机推荐

  1. Android(安卓)系统编译与调试
  2. Android中多个Activity间的数据共享
  3. Android(安卓)9.0 最完整的新特性列表
  4. 专题 - Web应用->Web应用中适配不同屏幕
  5. Android(安卓)HTTP实例 使用GET方法和POS
  6. 利用WebView通过javascript调用android j
  7. android人脸识别技术浅析
  8. Android中的布局 Layout
  9. Android基础 : Android(安卓)Service[转]
  10. Android加密