将参数从android传递给servlet/jsp
问题描述:
我无法从我的jsp页面中获取android传递的值。我犯了错误。任何建议!将参数从android传递给servlet/jsp
下面是我的代码:
==========================
客户端:Android的活动
package org.test2;
import java.io.IOException;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
public class test2Activity extends Activity {
EditText ed;
Button ok;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ed=(EditText)findViewById(R.id.EditText01);
ok=(Button)findViewById(R.id.Button01);
ok.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
// Create a new HttpClient and Post Header
HttpClient httpclient = new DefaultHttpClient();
HttpGet request=new HttpGet("http://localhost:8080/t5/jsp1.jsp?name=hiren");
//HttpPost httppost = new HttpPost("http://localhost:8080/t5/jsp1.jsp?name=hiren");
try {
// Execute HTTP Post Request
HttpResponse response = httpclient.execute(request);
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
}catch (IOException e) {
// TODO Auto-generated catch block
}
}
});
}
}
=======================================
服务器:JSP
<%@ page import="java.util.*" language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script type="text/javascript">
</script>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
Parameter value =
<%=request.getParameter("name") %>
</body>
</html>
=========================================
答
两个主要问题这里根据我:
您正在使用本地主机,我想你正在尝试使用模拟器,而不是本地主机,你必须分配你的机器的IP,如果你有DHCP然后在Android本地主机应该这样做因此,尝试
"http://10.0.2.2:8080/myapp/servletname?key=value"
您试图在浏览器中进行打印,而不是我的建议是尝试打印在控制台中的价值它会告诉你,然后你可以将它保存到数据库或者做这个过程。
希望这可以解决问题或任何开发人员面临这样的问题。
为什么不在JSP中打印什么?你怎么知道你是否从Android获取了某些东西! – 2011-01-11 09:38:04