본문은 모두 프로그램 세계에서 새로운 것입니다. 문제가 발생합니다. 내 요청은 Java 코드를 사용하여 Android 태블릿과 데스크탑 PC 간의 통신과 관련이 있습니다. 위의 코드android 응용 프로그램과 java 사이의 의사 소통
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class HelloWorldServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public HelloWorldServlet() {
super();
}
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
PrintWriter out = response.getWriter();
out.println("Hello Android !!!!");
}
}
내 로컬 시스템 서버 (톰캣 6.0) 저는 여기에 println을 통해 메시지를 보내고에서 실행되는 내 서블릿 코드와 나는 다른 시스템에서 실행되고 내 안드로이드 응용 프로그램에서 동일한 메시지를 reveive 싶어. 이제 다른 시스템에서 실행중인 안드로이드 코드를 게시하겠습니다. 다음은 192.68.0.2
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;
import android.app.Activity;
import android.os.AsyncTask;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class HttpGetServletActivity3 extends Activity implements
OnClickListener {
Button button;
TextView outputText;
public static final String URL =
"http://192.168.0.2:9999/HttpGetServlet/HelloWorldServlet";
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
findViewsById();
button.setOnClickListener(this);
}
private void findViewsById() {
button = (Button) findViewById(R.id.button);
outputText = (TextView) findViewById(R.id.outputTxt);
}
public void onClick(View view) {
GetXMLTask task = new GetXMLTask();
task.execute(new String[] { URL });
}
private class GetXMLTask extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... urls) {
String output = null;
for (String url : urls) {
output = getOutputFromUrl(url);
}
return output;
}
private String getOutputFromUrl(String url) {
StringBuffer output = new StringBuffer("");
try {
InputStream stream = getHttpConnection(url);
BufferedReader buffer = new BufferedReader(
new InputStreamReader(stream));
String s = "";
while ((s = buffer.readLine()) != null)
output.append(s);
} catch (IOException e1) {
e1.printStackTrace();
}
return output.toString();
}
// Makes HttpURLConnection and returns InputStream
private InputStream getHttpConnection(String urlString)
throws IOException {
InputStream stream = null;
URL url = new URL(urlString);
URLConnection connection = url.openConnection();
try {
HttpURLConnection httpConnection = (HttpURLConnection) connection;
httpConnection.setRequestMethod("GET");
httpConnection.connect();
if (httpConnection.getResponseCode() == HttpURLConnection.HTTP_OK) {
stream = httpConnection.getInputStream();
}
} catch (Exception ex) {
ex.printStackTrace();
}
return stream;
}
@Override
protected void onPostExecute(String output) {
outputText.setText(output);
}
}}
은 서블릿 코드 내 로컬 시스템 (아무 9999 포트가 Tomcat6.0 서버)를 실행 나누었다는 me.Both 시스템이 작동하지 않습니다에있는 시스템의 IP 주소입니다 같은 와이파이 네트워크 어떤 도움이 정말 대단히 감사합니다. 미리 감사드립니다 모두
내가 같은 문제가 무엇입니까위한 서블릿 코드 안드로이드 코드를입니다. – DJhon
http://192.68.0.2:9999/HttpGetServlet/HelloWorldServlet 이 URL에 대해 확실합니까? 이것은 내가 생각하는 Tomcat 질문입니다. – Cruncher
응용 프로그램을 실행하는 컴퓨터에서 http://192.68.0.2:9999/HttpGetServlet/HelloWorldServlet을 방문하고 http : // localhost : 9999/HttpGetServlet/HelloWorldServlet을 방문하면 어떻게됩니까? 192.168이 아니고 포트가 8080이 아닌 것은 확실합니까? – JohnMark13