zoukankan      html  css  js  c++  java
  • android与tomcat服务器交互实例

    一、教程目的。

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

     struts specification 选择struts2.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"这是从服务器返回的消息。

    最后 完整工程下载:

    https://files.cnblogs.com/feifei1010/Desktop.zip

    欢迎热爱安卓开发者加入群共同进步。南京群 220818530,武汉群121592153,,杭州群253603803,厦门群253604146,湖南群217494504,大连群253672904
    青岛群 257925319

  • 相关阅读:
    golang-switch结构辨析有话
    不用中间变量交换变量值-golang版
    vue element ui表单验证不通过,滚动到页面上第一个验证失败的输入框位置
    表单校验中使用v-if和v-else来判断是福哦要校验时的注意项
    如何修改本地项目关联的远程仓库地址
    vue-cli3如何访问public文件夹下的静态资源
    Git 命令行的各种退出方式
    elementui表格如何在表头每个列标题后面插入图片用于插入tooltip
    js 把一个二叉树类型的对象转化为普通对象
    element-ui树结构设置默认选中节点时改变传入的数组树结构没有变化
  • 原文地址:https://www.cnblogs.com/feifei1010/p/2671557.html
Copyright © 2011-2022 走看看