利用HttpClient or HttpURLConnection 借助tomcat实现在本地进行网络数据的访问

本文介绍了如何在本地使用HttpClient和HttpURLConnection,借助Tomcat服务器来模拟从本地服务器获取网络数据的过程。首先,通过启动Tomcat并部署EMS员工管理系统作为服务。接着,处理EMS.war文件并将其解压到Tomcat的webapps目录下。注意,配置Tomcat时可能出现的环境变量问题可能导致startup.bat无法正常运行,解决方法是检查和设置正确的环境变量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

      在Android中的大部分app都是需要联网的,这里我们就可以在本地先模拟一下从本地的服务器来获得服务器中的数据

1)准备工作:tomcat,EMS员工管理系统(作为一个服务器中的服务)

       1)tomcat的启动——>将tomcat的zip等文件解压到任意盘符的根目录(或者可以在没有任何中文的文件目录中)---->bin---->startup.bat(window环境下)-->开启服务器---->打开浏览器————>http://ip:host/path-->可以访问本地服务器的网页

       2)EMS的文件处理,将EMS.war---cv到apache-tomcat目录下的webapps下,---->解压到ems

         note01:在配置tomcat的时候,在点击startup的时候会出现闪退的情况,这种情况就是环境变量没有配置好

           解决办法就是

         Tomcat点击startup.bat闪退的解决方法

            一般都是JDK的环境变量配置有问题
           要配置三个变量
          JAVA_HOME jdk的安卓路径,一般为 C:\Program Files (x86)\Java\jdk1.7.0

         CLASSPATH 编译时JAVA编译器的路径,写一个点(.)就可以

         Path Path环境变量原先就有很多内容,不要去删除原有的内容。确认Path中有如下内容C:\Program Files (x86)\Java\jdk1.7.0\bin或者%JAVA_HOME%\bin
      note02:在配置tomcat的时候,有时候会出现port被占用的情况,这就需要需改端口号           
            改Tomcat的默认Http访问端口号
            安装目录/conf/server.xml
          里面有一个定义Http访问使用的端口号标签,默认内容为:
           <Connector port="8080" protocol="HTTP/1.1" 
              connectionTimeout="20000" 
               redirectPort="8443" />
            如果需要修改,就将port属性从8080改为你需要的端口号
2)
           1)HttpClient (apache开发)

           2)HttpURLConnection(google在发布安卓时在Java基础上修改得到的)

              使用HC(HttpClient)/UC(HttpURLConnection)进行网络访问的基本步骤:
            0. 申请权限 INTERNET访问权限
            1. 任何网络访问的相关代码,必须在工作线程中执行!
            2. 创建HC/UC对象
            3. 声明发起网络访问的方式(GET/POST)
            4. 进行网络连接
            5. 获得服务器响应的结果
            6. 解析结果,提取需要的内容
            7. 解析结果要提交到UI线程进行呈现
3)
利用HttpClient的POST方式发起带参数的请求
利用POST方式发起请求,参数要放到请求实体中,并且在请求头中添加对实体中参数的说明。

添加说明:
post.setHeader("Content-Type", "application/x-www-form-urlencoded");

添加参数:
List<NameValuePair> parameters = new ArrayList<NameValuePair>();//这是逻辑的第三步
parameters.add(new BasicNameValuePair("loginname", user.getName()));//这是逻辑的第二步
parameters.add(new BasicNameValuePair("password", user.getPassword()));
parameters.add(new BasicNameValuePair("realname", user.getRealname()));
parameters.add(new BasicNameValuePair("email", user.getEmail()));
HttpEntity entity = new UrlEncodedFormEntity(parameters);//这是逻辑的第一步
post.setEntity(entity);//





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值