Android网络请求--服务器端从环境搭建到发布过程
2015-09-17 13:24
661 查看
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,最简单的实现
有两个Servlet,TestPageA和TestPageB,内容一样,仅输出内容不同。通过右键-New-Servlet方式创建一个Servlet时,可能自动生成配置和Servlet代码,如果没有生成则手动添加吧。需要为Servlet在WebContent/WEB-INF/web.xml进行配置:
这样最基本的工程完成。
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项目测试,以下为主类,莫忘记加网络权限
点击连接servletA按钮输出:
Demo地址
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; @Override protected 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() { @Override public void onClick(View v) { // TODO Auto-generated method stub new SerThread(indexA).start(); } }); servletBBtn = (Button)findViewById(R.id.servletB_btn); servletBBtn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub new 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(); } } @Override public 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; } @Override public 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地址
相关文章推荐
- 地震发生时的10条注意事项
- Web2.0下XHTML+CSS 设计需要注意的地方小结
- MySQL数据库的23个注意事项
- SQL编程之子查询及注意事项
- ubuntu 12.10 上 android 编译环境搭建的深入解析
- 部署PHP项目应该注意的几点事项分享
- 用ASP开发网页需要牢记的注意事项
- 45个JavaScript编程注意事项、技巧大全
- jquery 注意事项与常用语法小结
- 安装防火墙的12个注意事项
- Access转换成SQL Server需要注意事项整理
- ASP.NE网站发布注意事项简析
- css display:none使用注意事项小结
- Knockoutjs的环境搭建教程
- Android生存指南之:开发中的注意事项
- jQuery语法总结和注意事项小结
- ssh项目环境搭建步骤(web项目)
- 怎样搭建PHP开发环境
- JavaScript开发时的五个注意事项
- Android开发环境搭建