login.jsp:
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title></title>
</head> <body>
<form action="chuandi.jsp" method="post">
<input type="text" name="userID" /><br />
<input type="password" name="password" /><br />
<input type="submit" value="submit" />
</form>


</body>
</html>chuandi.jsp:
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head><%
String name = request.getParameter("userID");
String password = request.getParameter("password");
%><body>
<%
if(name.length() > 0   &&   password.length() > 0) {
%>
<jsp:forward page="success.jsp">
<jsp:param name="user" value="<%=name%>"></jsp:param>
<jsp:param name="passw" value="<%=password%>"></jsp:param>
</jsp:forward>
<%
}
else {
%>
<jsp:forward page="login.jsp"></jsp:forward>
<%
}
%>
</body>
</html>success.jsp:
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head><%
String user = request.getParameter("user");
String pass = request.getParameter("passw");
%><body> 登录成功!<br /><br />
欢迎<%=user%>!<br /><br />
你的密码是:<%=pass%>
</body>
</html>
如何实现登录验证不成功后返回login.jsp页面时在login.jsp页面显示“登录失败,请重新登录”的字样啊?

解决方案 »

  1.   

    可以写一个js,在后台验证你的用户名和密码是不是正确的,如果不是的话,就return false;然后用ajax把你要用的信息放到一个span里,在login.JSP中显示就可以了,红色字体,可以用<font color=red></font>实现
      

  2.   

    你可以定义一个boolean型啊,然后在登陆JSP中用if判断,如果为false就显示out.print("登陆失败!");如果为true就什么都不要显示咯!当然这个boolean弄定义初始值为true,在验证时,更改他的值,返回过去,这样你那个陆界面如果收到的是false,那么,这个登陆失败就成功出来了!
         你学了struts么,用struts来实现的话,思路要简单的多!逻辑都用在jsp界面中,很不好,可读性差,维护性也差!
      

  3.   

    直接放request里吧  刚登录时request为空 不显示  在跳过来时 就不为空了  就一个想法
      

  4.   

    用Jquery的Ajax去异步请求登录吧,这样会比较方便.你要什么返回的数据都OK
      

  5.   

    我倒是觉得用servlet来处理更为妥当~~~
      

  6.   

    至少也要用个servlet,后台都写在页面上不好~
      

  7.   

    写在servlet里面 
     如String erroNes = "登陆失败请从新登陆"
    request.setAttribute("erro",erroNes)
      然后存入request
    jsp 页面
      <h style="color:red">${erroNes }>
      

  8.   

    你可以在login.jsp中设置一个隐藏的input,里面放错误提示消息,开始的时候隐藏,如果是点登录了,验证错误之后返回去的,就改变成显示的..