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="";
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-09-22
用Ajax进行登录判断,当前页面根本不刷新。
第2个回答  2008-09-22
先把用户名放到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>
第3个回答  推荐于2017-09-16
我有三种方案:
一,用框架提供的回显功能: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-->

这样,就会显示你先前所填写的了!
刚才开会让你久等里,不要意思,向你道歉!
呵呵...本回答被提问者采纳
第4个回答  2008-09-22
在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中也最好保存实体*/

jsp登录界面 跳转后 总是显示 帐号或密码错误 账号密码是按照数据库的...
1:楼主的用户名和密码又是String的,又是Char接受的,有必要么?还可能出错。 还不如直接就是String的,对应数据库中的是字段属性是varChar;2:连接数据库那一块,你的逻辑是根据用户名找出用户名和密码?然后对比你所输入的值是不是一样的? 有点乱。个人建议是查找到所以记录,存入List,如果list...

如何用jsp完成连续输错密码后锁定帐号功能
用Session只是记录保存他的错误次数 如果锁定的话 还是要用cookie的 把帐号锁定他的计算机上 他再用这个帐号登陆的时候就不可以了 如果他懂怎么删cookie文件 那就不能用这个了 补充 你可以设置cookie文件的有效期 来完成限时绑定功能 具体操作 请楼主参考一下帮助。

我用jsp做了个登录页面,想让它记住密码,下次登录时不需要再输入密码,怎 ...
一、当用户输入用户名密码时,到控制层用 Cookie user = new Cookie("user",name+"-"+passward); 加到cookie中,然后在访问此登录页面时,就先调用 Cookie[] cookies=request.getCookies(); 看cookie中是否有user这个值,如果有就取得用户名、密码。二、代码%@ page language="java" import="jav...

jsp登陆问题,为什么总是说我密码错误呢?密码输入很正确的!
这个就是编码问题了。可能你的页面是gbk而数据库是utf8.

求代码 Jsp编写一段程序,实现用户忘记密码,只要输入用户名,回答对密码...
1.建立一个数据库,至少有以下字段 username varchar(30) 存放用户名 userpwd varchar(30) 存放用户密码 userques varchar(255) 存放用户问题 用于记不起密码的找回 userkey varchar(255) 存放问题答案 2.建立JSP页面 两个输入框 用户名 显示问题:这里高用数据库,读取问题,也可以...

用jsp做一个用户登录界面 用户名和密码怎样从数据库中获取 如果输入的...
用户登录,不用读取数据,直接检测用户名密码是否同数据库中一致,就可以

jsp中登录界面如何判断用户名和密码和数据库是否一样,然后显示登录成功...
select count(当前表的id名比如id) from user where userid= 接收的用户名 and password=接收的密码 然后取得值看该值是否大于0,如果大于0返回一个true值或者直接返回该值,然后判断只要大于0就表示登录成功,和数据库中一样。你可以通过request跳转,如果登录成功就跳转到登录成功界面,并把你的登录...

我想在jsp 页面上弹出对话框提示用户输入错误,如何在后台servlet中操作...
在jsp页面用form标签即可实现:当该页面跳转的时候,即跳转到servletofdownload所指定的页面

jsp验证用户名和密码的问题
因为从逻辑上来说你必须保证用户名是唯一的,不能两个人有相同的用户名。所以你取的记录只能是一条或者没有,因此可以用if(rs.next)的验证。

...只有第一个账号可以正常登录,其他的则说密码错误,为什么?_百度...
数据库依次取出第一个账号信息与输入的信息做对比,if中判断不成立,就走else的处理,然后往jsp输出后直接rerurn了。这样又怎么能登陆成功呢。

相似回答