qiaojiew 2013-12-27 07:08 采纳率: 50%
浏览 2551
已采纳

跪求高手帮忙看下程序为什么android连接不到servlet上,谢谢大家了

android客户端
package com.android.helloworld;

import java.io.DataOutputStream;
import java.io.IOException;
import java.io.OutputStream;
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.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;

public class ButtonDemo extends Activity{
private Button button;
private String username;
private String psw;
private EditText editText;
private EditText editText2;
public void onCreate(Bundle queding){
super.onCreate(queding);
/**
* 设置界面
/
setContentView(R.layout.activity_main);
/
*
* 根据ID找到界面上的按钮对象
/
button=(Button) findViewById(R.id.button1);
/
*
* 为按钮绑定点击时间
*/
button.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            /**
             * 根据ID找到界面中的输入框
             */
            editText=(EditText) findViewById(R.id.editText1);
            /**
             * 根据ID找到界面中的输入框
             */
            editText2=(EditText) findViewById(R.id.editText2);
            /**
             * 把输入框中的内容去除空格后获得并且交给变量
             */
            username=editText.getText().toString().trim();
            /**
             * 把输入框中的内容去除空格后获得并且交给变量
             */
            psw=editText2.getText().toString().trim();
            /**
             * 构建需要传输的XML
             */
            /**
             * 将构建的XML转化成字符串
             */
            String xml="username"+username+"psw"+psw;

// /**
// * 打印日志
// /
// Log.i("得到数据", "用户名"+username+"密码"+psw);
/
*
* 打印看获得的数据和用户输入的数据是否一样
/
System.out.println("用户名"+username+"密码"+psw);
try {
/
*
* 服务器位置
/
URL url=new URL("http://127.0.0.1:8080/TestAndroid/1.do");
/
*
* 打开一个服务器的连接
/
HttpURLConnection connection=(HttpURLConnection) url.openConnection();
/
*
* 设置超时时间 单位毫秒
/
connection.setConnectTimeout(5000);
/
*
* 允许输入
/
connection.setDoInput(true);
/
*
* 允许输出
/
connection.setDoOutput(true);
/
*
* 设置不允许用缓存
/
connection.setUseCaches(false);
/
*
* 设置请求方法
/
connection.setRequestMethod("POST");
/
*
* 设置发送字符串的编码格式
/
connection.setRequestProperty("Conten-Type", "text/xml;charset=UTF-8");
/
*
* 通过IO流的方式发送数据给服务器
/
OutputStream outputStream=connection.getOutputStream();
/
*
* 设置将XML转化为字节的形式进行传输,编码方式是UTF-8
/
outputStream.write(xml.getBytes("UTF-8"));
/
*
* 将输出流交给数据流发送
/
DataOutputStream dataOutputStream=new DataOutputStream(outputStream);
/
*
* 将数据发送出去并且清空数据输出流
/
dataOutputStream.flush();
/
*
* 关闭输出流并且释放占用的资源空间
*/
dataOutputStream.close();

            } catch (MalformedURLException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    });
}

}
servlet端
package testservlet;

import java.io.BufferedInputStream;
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 TestServlet extends HttpServlet {
public void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
// response.setContentType("text/xml;charset=utf-8");
// BufferedInputStream bufferedInputStream=new BufferedInputStream(request.getInputStream());
// byte[] bytes=new byte[1024*1024];
// int len=0;
// while((len=bufferedInputStream.read(bytes))!=-1){
// System.out.println(bytes);
// System.out.println(bytes.toString());
// }
// System.out.println(len);
System.out.println(111111);
}
}

有知道的告诉下怎么才可以解决
谢谢了
QQ704532683

  • 写回答

1条回答

  • qq983742902 2013-12-31 07:17
    关注

    Android的网络操作不能放在UI线程中,你的按钮点击事件就是发生在UI线程里,你应该新开一个线程和Message来处理你请求Servlet,然后用Handler来接收处理线程的消息。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示