日期:2014-05-17  浏览次数:20678 次

登录的一个小难点
我有一个登录窗口,用户名,密码输入 ,然后登录
判断用户名密码错误是在后台servlet里
后台servlet里判断的错误提示怎么传到前台并alert显示出来呢
就是假设我输入错误的用户名或密码,后台判断后 传给前台并显示出来

求代码 !后台

if (用户密码错误) {这里应该怎么做}


前台怎么能alert(密码或用户名错误!);

------解决方案--------------------
Java code

response.getWriter().println("<script>alert('密码或用户名错误!')</script>");
response.setHeader("Refresh", "0.5;url=login.jsp");

------解决方案--------------------
5楼的方法应该可以搞定。

想友好点,可以类似这样(假设你登录页是login.jsp):
◎ Servlet中
response.sendRedirect("login.jsp?errorMsg=密码或用户名错误!");
◎ login.jsp中
<%
String msg = request.getParameter(errorMsg);
if (msg != null) {
out.println("<script language='javascript'>alert('"+msg+"')</script>");
}
%>

------解决方案--------------------
response.getWriter().println("<script>alert('密码或用户名错误!')</script>");
意思是输出一段html代码,这段代码其实是个js,背景自然是白的了。
然后当点击确定了后
response.setHeader("Refresh", "0.5;url=你登录时的页面.jsp");
跳转回登录页(其实是刷新),就实现了这个效果。

你要理清楚这个交互的过程
------解决方案--------------------
直接在登录框上面输出红色的字不就行了?类似淘宝登录
------解决方案--------------------
ajax
------解决方案--------------------
探讨

直接在登录框上面输出红色的字不就行了?类似淘宝登录

------解决方案--------------------
Ajax 登陆:




登录时调用Login()方法;url 就是你要提交到的地址+参数

页面部分:
<script type="text/javascript">

function createXMLHttpRequest() {
if (window.XMLHttpRequest) {
return new XMLHttpRequest();
} else {
if (window.ActiveXObject) {
try {
return new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {
try {
return new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e) {
}
}
}
}
}
function Login(){

var username = document.myForm.username.value;
var userpwd = document.myForm.password.value;
var isremenmber=false;
if(document.myForm.isremember.checked){
isremenmber=true;
}
if(username==""){
document.getElementById("username_success").innerHTML="请输入您的帐号!";
return;
}else if(userpwd==""){
document.getElementById("passsword_success").innerHTML="请输入您的密码!";
return;
}else{

var random=Math.random();

var url = "login!Login.action?username=" + encodeURI(encodeURI(username)) + "&password=" + userpwd + "&random=" + random+" &isremenmber="+isremenmber;
var XMLHttpReq = createXMLHttpRequest();
XMLHttpReq.onreadystatechange = function () {
if (XMLHttpReq.readyState == 4) {
if (XMLHttpReq.status == 200) {

var text = XMLHttpReq.responseText;

if(text==1){
alert("登录成功!");
window.location.href="index.action";

}else if(text==-1){
alert("该用户不存在!");
window.setTimeout("parent.window.location.reload('login.jsp')", 1000);

}else if(text==0){
alert("登录密码不正确!");
window.setTimeout("parent.window.location.reload('login.jsp')", 1000);

}else{
alert("登录失败!");