最近这连续三四天都在开发登录模块,今天终于搞定,期间遇到不少问题。
首先这个应用实现Android客户端与Web服务器端的交互,通过客户端输入用户名和密码,Web端的jsp页面获取参数,并查找数据库MySQL验证信息,将相应结果信息返回给客户端。
1.Android连接web端的路径问题
由于我的web端就在本地,这里的url 就不能再用localhost了,而是要用10.0.2.2,这是Android内置的,由电脑的别名alias记住。而localhost将访问的是Android模拟器它自己。
2.web端连接数据库的配置
由于这个应用web端的功能较少,在连接mysql时,直接通过在tomcat的server.xml中进行配置
在项目的WEB_INF目录下的web.xml中进行这样配置:
3.客户端与web端的参数传递
将客户端的输入信息放入Map中:
final String url = "http://" + IP_ADDRESS + ":8080/Hotel/receive.jsp";
EditText et1 = (EditText)findViewById(R.id.username);//用户名文本框的引用
EditText et2 = (EditText)findViewById(R.id.password);//密码文本框的引用
final Map<String,String> params = new HashMap<String,String>();
params.put("params1", et1.getText().toString());//用户名放入params
params.put("params2", et2.getText().toString());//将密码放入params
通过:String msgStr = HttpUtilService.post(url,params);将url和参数传给jsp ,并获取jsp页面传来的数据流。这里的 HttpUtilService 为自定义类,用来处理数据流。
这里遇到了一个问题,现在也没搞明白,就是在jsp页面中,开头的标签与脚本之间不能有任何代码,即使是注释,在返回给客户端时,就获取不了jsp返回的信息流。