android与tomcat服务器交互实例

一、教程目的。

本教程的目的在于教会怎么完成android与tomcat服务器的数据交互。
二、开发环境。
Myeclipse8.5+jdk1.6+android2.3
三、开发步骤。
(1)新建一个web项目,并添加struts2支持。
new->webproject
1在项目名称右键,Myeclipse->Add Struts Capabilities

struts specification 选择struts2.1
然后选择完成

android与tomcat服务器交互实例_第1张图片

2新建一个action类

?
package action; import java.io.IOException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts2.ServletActionContext; import com.opensymphony.xwork2.ActionSupport; public class AndroidAction extends ActionSupport { HttpServletRequest request=ServletActionContext.getRequest(); HttpServletResponse response = ServletActionContext.getResponse(); @Override public String execute() throws Exception { // TODO Auto-generated method stub return super .execute(); } public void test() { String str = request.getParameter( "test" ); System.out.println(str); writeOut( "hello android" ); } /** * 返回值 * @param jsonStr */ public void writeOut(String jsonStr) { response.setContentType( "html/txt" ); response.setCharacterEncoding( "utf-8" ); response.setHeader( "Pragma" , "no-cache" ); response.setHeader( "Cache-Control" , "no-cache, must-revalidate" ); response.setHeader( "Pragma" , "no-cache" ); try { response.getWriter().write(jsonStr); response.getWriter().flush(); response.getWriter().close(); } catch (IOException e) { e.printStackTrace(); } } }

  3.修改struts.xml

?
<?xml version= "1.0" encoding= "UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd" > <struts> < package name= "androidaction" extends = "json-default" namespace= "/androidaction" > <action name= "test" class = "action.AndroidAction" method= "test" > <result type= "json" name= "success" > <param name= "contentType" >text/html</param> </result> <result type= "json" name= "error" > <param name= "contentType" >text/html</param> </result> </action> </ package > </struts>

  4.发布web项目 AndroidWebserver上右键 run as Myeclipse server application

(2)新建一个android项目。
记得要加入commons-httpclient-3.1.jar依赖包
新建一个链接工具类ConnUtil.java代码如下

?
public class HelloApacheServerActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super .onCreate(savedInstanceState); setContentView(R.layout.main); final ConnUtil cu = new ConnUtil(); Button btn = (Button)findViewById(R.id.sendMessage); btn.setOnClickListener( new OnClickListener(){ @Override public void onClick(View arg0) { String s = cu.sayHello(); Toast.makeText(HelloApacheServerActivity. this ,s,Toast.LENGTH_SHORT).show(); } }); } }

  对了,android项目要记得添加网络访问权限
<uses-permission android:name="android.permission.INTERNET"/>

最后验证一下
按下"say hello"按钮 在myeclipse 的console下可以看到"hello server" 这是从android端发来的消息
同时android会弹出一个Toast "hello android"这是从服务器返回的消息。

最后 完整工程下载:

更多相关文章

  1. Android - 私有库项目创建及发布
  2. Android小项目:记事本
  3. MPAndroidChart项目实战(二)——双平滑曲线(双折线图)和MarkView实现
  4. GitHub 优秀的 Android 开源项目 淘宝技术牛p博客整理开发中最常
  5. android 网络访问-图片处理优秀开源项目 (201
  6. 【边做项目边学Android】小白会遇到的问题--This Android SDK re
  7. Android练习小项目时踩到的坑
  8. Android Tcp服务器端
  9. android上传文件到服务器

随机推荐

  1. LXR 索引Android 源码
  2. 专题 - Web应用
  3. App测试中ios和Android的区别
  4. Android隐藏输入法自带的输入框,将输入框
  5. Android Intent调用方法总结
  6. Android拍照,照片会自己旋转
  7. Android平台特性
  8. 【Google Voice】Android 轻松实现语音识
  9. Android DrawerLayout 高仿QQ5.2双向侧滑
  10. 如何使用Jdbc和Servlet操作Mysql数据库,编