Android网络请求--服务器端从环境搭建到发布过程
来源:互联网 发布:linux 查看java path 编辑:程序博客网 时间:2024/06/05 11:46
1、环境部署 tomcat如何配置环境变量 ,这篇文章最后写了注意事项,有时候这些全都没问题可能还是出错,可以试着重启电脑可能就好了
注意:JDK和TOMCAT最好装一样位数的版本,并且和操作系统匹配,都装64位或者都装32位的,否则可能出现一些不可预料的问题
2、创建项目 eclipse创建web项目
注意:项目创建完毕后,项目的 WebContent/WEB-INF/下如果没有web.xml可以从其他项目拷过来或者自己新建一个,WebContent/META-INF下如果没有servlet-api.jar 包,可以到 apache-tomcat-7.0.64\lib目录下拷贝出来,手动Add Build to Path。
项目目录:
3、编写代码,创建Servlet,最简单的实现
<pre name="code" class="html"> package com.servlet.test; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class TestPageA extends HttpServlet{ int serCount = 0; @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // TODO Auto-generated method stub String data = "Success PageA --> " + (++serCount); resp.setContentType("text/html;charset=GBK"); resp.getOutputStream().write(data.getBytes("GBK")); System.out.println("Success PageA --> " + (++serCount)); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // TODO Auto-generated method stub doGet(req, resp); } }
有两个Servlet,TestPageA和TestPageB,内容一样,仅输出内容不同。通过右键-New-Servlet方式创建一个Servlet时,可能自动生成配置和Servlet代码,如果没有生成则手动添加吧。需要为Servlet在WebContent/WEB-INF/web.xml进行配置:
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"> <servlet> <servlet-name>TestPageA</servlet-name> <servlet-class>com.servlet.test.TestPageA</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>TestPageA</servlet-name> <url-pattern>/testA</url-pattern> </servlet-mapping> <servlet> <servlet-name>TestPageB</servlet-name> <servlet-class>com.servlet.test.TestPageB</servlet-class> </servlet> <servlet-mapping> <servlet-name>TestPageB</servlet-name> <url-pattern>/testB</url-pattern> </servlet-mapping></web-app>
这样最基本的工程完成。
4、发布项目 tomcat部署web项目的3中方法
web项目发布到Tomcat
使用war包发布,简单快捷 web项目打war包发布
注意:使用war包发布,如果修改了代码重新发布,要删除tomcat下原war包解压出来的项目
5、测试发布结果
输入地址:http://localhost:8080/SerTest/testA
输出:
输入地址:http://localhost:8080/SerTest/testB
输出:
6、创建Android项目测试,以下为主类,莫忘记加网络权限
package com.example.sertest;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.URL;import android.app.Activity;import android.os.Bundle;import android.util.Log;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public class MainActivity extends Activity {private Button servletABtn;private Button servletBBtn;private int indexA = 1;private int indexB = 2;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);initViews(); }private void initViews(){servletABtn = (Button)findViewById(R.id.servletA_btn);servletABtn.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubnew SerThread(indexA).start();}});servletBBtn = (Button)findViewById(R.id.servletB_btn);servletBBtn.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubnew SerThread(indexB).start();}});}class SerThread extends Thread{int index;public SerThread(int index) {this.index = index;}public void run() {executeGet(index);};}private void executeGet(int index){String urlDate = "http://192.168.xx.xx:8080/SerTest/testB";if(indexA == index){urlDate="http://192.168.xx.xx:8080/SerTest/testA";} try { //封装访问服务器的地址 URL url=new URL(urlDate); try { //打开对服务器的连接 HttpURLConnection conn=(HttpURLConnection) url.openConnection(); //连接服务器 conn.connect(); /**读入服务器数据的过程**/ //得到输入流 InputStream is=conn.getInputStream(); //创建包装流 BufferedReader br=new BufferedReader(new InputStreamReader(is)); //定义String类型用于储存单行数据 String line=null; //创建StringBuffer对象用于存储所有数据 StringBuffer sb=new StringBuffer(); while((line=br.readLine())!=null){ sb.append(line); } //用TextView显示接收的服务器数据 // tv.setText(sb.toString()); Log.i("tag","resInfo = " + sb.toString()); } catch (IOException e) { e.printStackTrace(); } } catch (MalformedURLException e) { e.printStackTrace(); } }@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}@Overridepublic boolean onOptionsItemSelected(MenuItem item) {// Handle action bar item clicks here. The action bar will// automatically handle clicks on the Home/Up button, so long// as you specify a parent activity in AndroidManifest.xml.int id = item.getItemId();if (id == R.id.action_settings) {return true;}return super.onOptionsItemSelected(item);}}
点击连接servletA按钮输出:
Demo地址
0 0
- Android网络请求--服务器端从环境搭建到发布过程
- Vue2.0 新手入门 — 从环境搭建到发布
- Vue 2.0 从搭建环境到项目发布
- Vue2.0 新手入门 — 从环境搭建到发布
- Vue2.0 新手入门 — 从环境搭建到发布
- Vue2.0 新手入门 — 从环境搭建到发布
- 从0到1的环境搭建过程
- 【建站实操】从设计到编码到域名到云服务器到备案到域名解析到环境搭建到发布全过程
- Android网络请求详解,从HTTP协议到httpUrlConnection
- Android从环境搭建到第一个HelloWorld
- 搭建从java到android的开发环境
- Android从搭建环境到写第一个程序
- Android NDK开发之从环境搭建到Demo级十步流
- Android NDK开发之从环境搭建到Demo级十步流
- Android NDK开发之从环境搭建到Demo级十步流
- 从搭建环境到一个简单Android App测试实例
- 我的CentOS环境部署过程:从vmware安装到环境搭建
- Vue2.0 新手完全填坑攻略—从环境搭建到发布——DT
- 面向对象的三个重要特征------封装、继承、多态
- unity3d实现视频播放
- JS事件知识的一些小整理
- 封装
- QT打包
- Android网络请求--服务器端从环境搭建到发布过程
- git解决rebase冲突
- 覆盖了一层view 下面一层点击效果还是有效的
- Leetcode 151 - Reverse words in String - The C Language O(1) space
- LeetCode 226: Invert Binary Tree
- python处理Unicode规则
- 【Android】HttpUrlConnection AsyncTack
- c++中的string常用函数用法总结
- 关于TableViewCell的高度根据text来计算