在作业中遇到问题,一直前进不了,无奈求人解答。。
一开始写的是通过servlet通讯的,不过一直没有成功。就把书上的和jsp交换数据的代码敲了一下,还是有问题。
Android的代码:
public class MainActivity extends Activity {
TextView info=null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
info=(TextView)super.findViewById(R.id.info);
new Thread(){
public void run(){
System.out.println(info.getText().toString());
info.setText("123");
boolean flag=false;
try {
URL url=new URL("http","10.0.2.2",8080,"/homework5/index.jsp?id=shimiao&password=123");
HttpURLConnection conn=(HttpURLConnection)url.openConnection();
byte[] data=new byte[512];
int len= conn.getInputStream().read(data);
if(len>0){
String temp=new String(data,0,len).trim();
flag=Boolean.parseBoolean(temp);
}
conn.getInputStream().close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
info.setText("WEB服务器连接失败!");
}
if(flag){
info.setText("用户登录成功!");
}
else{
info.setText("用户登录失败!");
}
}
}.start();
}
Web的代码:
<body>
<%
String id=request.getParameter("id");
String password=request.getParameter("password");
String str="123";
%>
<%
if("shimiao".equals(id)&&"123".equals(password)){
%>
true
<%
}
else
{
%>
false
<%
}
%>
<%=id %>
<%=password %>
<%=str %>
</body>
Android结果:

web显示

------解决思路----------------------
androidmainfest里面加互联网访问权限了吧?
------解决思路----------------------
亲,你这样很明显返回的是整个jsp页面代码吧。
你自己看一下temp中是什么。
你这个操作本身就是简单的访问页面,你的页面处理又没有做服务的代码处理,返回什么。肯定只返回这个页面啊。
------解决思路----------------------
不会 不好意思
------解决思路----------------------
web端没有做返回处理,移动端解析的布尔值当然不能作为成功依据、
至于id和password为空,建议把request全文打印出来看看