① android连接servlet的问题
。。你的IP是局域网服务器的IP,首先你先确定你的手机或者你的设备连接的WIFI是和你的服务器是同一个局域网的。如果手机使用的是3G/4G网络是不能访问的。
② Android登陆后如何判定是否登录 并且在已经登录的时候如何获取用户信息
给你详细讲一下。 比如系统有个登陆页面(login.jsp): name:_________ password:____________ (登陆按钮) 你按下登陆按钮,就根据name和password去数据库里面查,如果判断有此用户并且密码正确,就设置一个session的键对应的值,键名字自己取,统一即可,比如"userInfo",代码就是servlet的doPost里面 HttpSession session = request.getSession(); Hashtable userInfo = new Hashtable(); userInfo.setAttribute("userName", request.getParameter("userName"); userInfo.setAttribute("passWords", Util.toSecret( request.getParameter("passWords)); //密码最好加密 session.setAttribute("userInfo", userInfo); session是在一定时期(超时时间内)一直存在的,这段时间内你可以随时判断用户是否合法,否则就退回登陆页面。 在任何除了登陆页面以外的页面访问,只需判断有没有这个键值,没就到登陆页面,否则进正常页面。(最好写在servlet中,让servlet当页面控制器)代码如下: if ( session.getAttribute("userInfo")==null ) { response.sendRedirect(request.getServletContext.getPath() + "/login.jsp"); } else { request.getRequestDispatcher("/正常页面.jsp").forward(request,response); }
③ 请问android 怎么和servlet 进行交互 通过android界面登录,由servlet进行验证然后返回验证信息
网络编程,每本书里都有吧。。
Socket,Http都行
④ android登陆验证是在哪里(客户端activity还是服务器servlet)登陆验证的流程是怎么样的
Activity通过EditText获取用户输入的用户名和密码,先进行初步判断,看是否符合标准(比如用户名、密码的长度,及包含汉字等),如果不通过弹出提示,通轮顷过的话要先判断网络连接状况。有网络连接时可以以http或者socket方式与服务器通信。如果是http的优先使用post方式,这样不会把用户信息暴露在罩桐基url中。servlet接收到用户名和密码后,经过数据库查询,判断各种情况,例如用户名不存在,密码不正确等情况,并把结果返回给Activity。具体的数据格式协议你自己订了。Activity根据返回的结果,按照项目需求进行相应的提示或者操作即可。另外4.0以后网络请求不能在物谨Activity的ui线程中进行,需要用Thread发送网络请求,还要考虑网络请求超时的情况。希望能帮到你。