跟着书上一步步来的,不知道哪里有问题,tomcat打开了,却连接不了服务器,似乎不执行线程里的东西
package com.example.administrator.myapplication;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLEncoder;
public class MainActivity extends AppCompatActivity {
private EditText nickname;
private EditText content;
private String result="";
private TextView resultTV;
private Handler handler;
private Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
nickname=(EditText)findViewById(R.id.nickname);
content=(EditText)findViewById(R.id.content);
resultTV=(TextView)findViewById(R.id.resultTV);
button=(Button)findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
if("".equals(content.getText().toString())){
Toast.makeText(MainActivity.this,"请输入要发表的内容",Toast.LENGTH_SHORT).show();
return;
}
new Thread(new Runnable() {
public void run() {
send();
handler=new Handler(){
public void handleMessage(Message msg){
if (result!=null){
resultTV.setText(result);
content.setText("");
nickname.setText("");
}
super.handleMessage(msg);
}
};
Message m=handler.obtainMessage();
handler.sendMessage(m);
}
}).start();
}
});
}
public void send(){
String target="http://10.0.2.2:8080/test/co.jsp";
URL url;
try {
url=new URL(target);
try {
HttpURLConnection urlConn=(HttpURLConnection)url.openConnection();
urlConn.setRequestMethod("POST");
urlConn.setDoInput(true);
urlConn.setDoOutput(true);
urlConn.setInstanceFollowRedirects(true);
urlConn.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
DataOutputStream out=new DataOutputStream(urlConn.getOutputStream());
String param="nickname="+ URLEncoder.encode(nickname.getText().toString(),"utf-8")+"&content="+URLEncoder.encode(content.getText().toString(),"utf-8");
out.writeBytes(param);
out.flush();
out.close();
if(urlConn.getResponseCode()==HttpURLConnection.HTTP_OK){
InputStreamReader in =new InputStreamReader(urlConn.getInputStream());
BufferedReader buffer=new BufferedReader(in);
String inputLine=null;
while ((inputLine=buffer.readLine())!=null){
result+=inputLine+"\n";
}
in.close();
}
urlConn.disconnect();
} catch (MalformedURLException e) {
e.printStackTrace();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
这是我jsp的内容
<%@page contentType="text/html;charset=utf-8" language="java" %>
<%
String content=request.getParameter("content");
String nickname=request.getParameter("nickname");
if(content!=null&&nickname!=null){
nickname=new String(nickname.getBytes("iso-8859-1"),"utf-8");
content=new String(content.getBytes("iso-8859-1"),"utf-8");
String date=new java.util.Date().toLocaleString();
%>
<%="["+nickname+"]于"+date+"发表一条内容如下:"%>
<%=content%>
<%}%>