在android应用开发中,用户登录后怎么实现用户密码的修改

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在android应用开发中,用户登录后怎么实现用户密码的修改相关的知识,希望对你有一定的参考价值。

参考技术A android开发中,用户的密码肯定是放在服务器端的数据库中的,这一点毫无疑问。若要实现用户密码的修改,首先服务器端必须要有用户修改密码的端口。如果服务器端都不允许你修改密码,那么这一功能根本不可能实现。
若是服务器端允许用户修改密码,那么原理就是根据用户注册时返回的userid(通常用sharedpreference用户手机本地文件中)来查询服务器端的数据库中该用户的账号密码数据,然后进行更新。用户发出修改密码这样的请求后,服务器根据用户提交的信息对数据库更新。手机端只是一个请求,更多的操作要放在服务器端。
详细做法无法赘述。大致是,写好用户修改密码的页面之后,在该Activity中用map或者namevalue装载修改的密码和其他必须的参数,然后在提交按钮的的监听事件里发送请求至服务器(当然发送请求获取数据这些操作别放进主线程,写个异步任务类。),服务器读取用户请求,更新数据库。至于密码类型长度这些要求的判断最好直接在装载数据前就判断,减轻服务器压力。

jsp中登录框如果密码错误 用户名保留怎么做

JSP做的页面中有用户 名和密码登录框。经判定,如果用户名正确,密码错误,那么用户名保留,让光标在密码框 内,
问具体怎么实现,现在其他都已实现,就是用户名正确 ,密码错误时,用户名和密码全空。请帮助谢谢
给出个很简单的例子。。
比如 用STRUST回显。。
不知道怎么向文本框传值
新手快帮帮忙啊~~

如果你只是提交到当前页面,用简单的script判断用户名和密码都不为空就提交,只需再判断密码为不为空的后面加一个if判断密码是否正确,如果错误,用document.all.username.focus();return false;就可以了.
如果你是提交到servlet的话,servlet经过判断转发到该页面时就是一次刷新页面的过程.所以你的值会全部清空,刷新后相当与一个全新的页面.这种解决的方案是采用异步提交方式,也就通常所说的AJAX技术来实现.
以下是ajax代码.随便写了下,你可以直接拿来用,可以看到效果.
var xmlHttpRequest;
function getXmlHttpRequest()

if(window.ActiveXObject)
return new ActiveXObject("Microsoft.XMLHTTP");
else if(window.XMLHttpRequest)
return new XMLHttpRequest();



function get(url)

xmlHttpRequest = getXmlHttpRequest();
xmlHttpRequest.onreadystatechange = check;
xmlHttpRequest.open("get",url,true);
xmlHttpRequest.send(null);


function check()

if(xmlHttpRequest.readyState==4&&xmlHttpRequest.status==200)
var ret = xmlHttpRequest.responseText;
alert(ret);



你只需调用这里的get()方法传一个你提交的路径上去就可以了,然后在你提交的那个路径的servlet里写一个out.print("密码错误");
他会自动打印密码错误,而不会清空文本框的值.

手动清空文本框的script代码是document.all.username.value="";
参考技术A 用Ajax进行登录判断,当前页面根本不刷新。 参考技术B 先把用户名放到session里,并设置一个标志位来判断是否是这种情况。然后写一段js代码到页面的载入事件中给用户名赋值。
<%@ page language="java" contentType="text/html; charset=GB2312"
pageEncoding="GB2312"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<%
request.getSession().setAttribute("UserName", "cx");
request.getSession().setAttribute("LoginFlag", 1);
%>
<script language="JavaScript">
function mytest()
var flag;
flag = "<%=session.getAttribute("LoginFlag")%>";
var username;
username = "<%=session.getAttribute("UserName")%>";
if(flag==1)
document.test.name.value = username;

else
document.test.name.value = "";

</script>
</head>
<body onLoad="JavaScript:mytest();">
<form name = "test">
<input type="text" name="name" />
</form>
</body>
</html>
参考技术C 我有三种方案:
一,用框架提供的回显功能:struts或JSF都行。
二,用java或javascript的cookies。
三,用jsp的session内置对象。
具体做法,请稍等......

struts:form结合它所提供的html标签本身就是有回显功能

session:
你的servlet可能是这样

String userName = request.getParameter("userName");
String password = request.getParameter("password");
//验证正确性
//如果正确登录,否则进行下列操作
request.setAttribute(userName, userName);
request.getRequestDispatcher("/index.jsp").forward(request, response);

静态页面应该这样:

...
<input type="text" value="$userName "/>
...
<!--用el来取到服务器发回来的值,也就是你提交的userName-->

这样,就会显示你先前所填写的了!
刚才开会让你久等里,不要意思,向你道歉!
呵呵...本回答被提问者采纳
参考技术D 在Index.jsp页面有(代码:使用Struts)
主要如下:
<%@taglib uri="/WEB-INF/struts-html.tld" prefix="html"%> //导入标签

/*
这里的value: user是在Action中查询假如有这个用户名的话就用session.setattribute("user",user);保存之后return mapping.findforward(index);即返回index.jsp主页
*/
<html:form action="/user">
<html:text property="username" value="$user.username"></html:text>
<html:password property="pwd"></html:password>
</html:form>

在formBean (User.java)中有 用户名和密码2个属性:

private String password;
private String username;
Getter 和Setter方法

在Action 中查询 假如有这个用户名的话就用
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
UserForm userForm = (UserForm) form;
String name=userForm.getUsername();
String pwd=userForm.getPassword();
SearchDAO sz=new SearchDAO();
if(sz.search(user))//调用方法查询:这里只查询用户名你可以根据你的实际情况处理

session.setattribute("username",name);
return mapping.findForward(index);//index是Strust配置文件中转向的页面

return null;

/*注:最好:formbean 中用javabean(User.java) 实体对象,以实体进行保存传递,获取,session中也最好保存实体*/

以上是关于在android应用开发中,用户登录后怎么实现用户密码的修改的主要内容,如果未能解决你的问题,请参考以下文章

Android登录后的用户数据如何保存,Android如何保存数据

android系统用户数据锁定怎么办?

javaweb开发权限管理,怎么实现管理员修改用户权限后立即生效?

[源码]Android安卓应用手势锁图案解锁的实现

安卓开发能用啥方法将用户信息保存,退出登录后清除

如何在Android手机中开发QQ账户登陆功能