需求:现在有一个用HTML和javascript写的Web登陆页面,你输入用户名和密码后,会通过servlet访问Oracle数据库,检查用户名和密码是否正确。正确却跳转到成功页面;不正确的时候就返回登陆界面,并且登陆页面里有你刚刚输入的用户名和密码。请问:怎么实现返回到这个“有你刚刚输入的用户名和密码”的登陆界面?是用javascript还是用JSP,还是其他?

解决方案 »

  1.   

    这个也太~~不过,我看了一下CSDN的登陆界面,他代码是这样的:
    第一行的“<form name="logform" action="#">”的action=“#”,这是提交给本页面处理?他怎么实现判断密码正确性的?<form name="logform" action="#"><table> <tr> <td width="60">用户名:</td> <td><input type="text" id="u" name="u" class="inputbox" maxlength="100" /></td> </tr> <tr> <td>密 码:</td> <td><input type="password" id="p" class="inputbox" maxlength="50" /></td> </tr> <tr id="tr_c" style="display:none;"> <td>验证码:</td> <td><input type="text" id="c" class="inputbox" maxlength="10" /></td> </tr> <tr id="tr_vc" style="display:none;"> <td></td> <td><img id="vcImg" alt="" src="/images/bit.gif" /><a id="aRecode" href="javascript:void(0);" class="font_gray">看不清,换一张</a></td> </tr> <tr> <td></td> <td><input type="checkbox" id="chkRemember" name="chkRemember" style="vertical-align:middle" class="checkbox" /><label for="chkRemember" class="font_red">两周内自动登录</label></td> </tr> <tr> <td></td> <td> <a id="aLogin" class="btn_login" href="javascript:void(0);"><span>登 录</span></a>            <a href="/account/forgotpassword" class="font_gray" target="_top">忘记密码</a>             </td> </tr>    <tr>    <td></td><td><span id="sp_err" style="color:#ff0000;"></span></td>    </tr>    <tr>        <td></td>        <td><a href="http://news.csdn.net/a/20111223/309628.html" class="font_gray" target="_blank">CSDN会员账号信息修改说明</a></td>    </tr></table></form>
      

  2.   

    把数据放在request里面,传过去啊
      

  3.   


    我用servlet,strust这个听都没听过。
      

  4.   

    登录页面:<%String username = request.getAtrribute("username");
               String password = request.getAtrribute("password");  %>
              <input type = "text" name="username" <%if(username!=null)%> value="<%=username %>" <% }%>  ....password...那里也一样!!!提交到servlet
    后台servlet:首先把用户名跟密码从request中取出来,如果正确把用户名放到session中,否则放到response返回回去登录页面response.setAtrribute("username",username)
    ,response.setAtrribute("password",password)
      

  5.   

    在我现在的学习程度,可以两种实现:
    1.用ajax实现异步,不刷新页面,直接到数据库验证,这样就可以让相应的用户名和密码报错到了登陆页面上面
    2.用el,你现在是跳转到servlet里,但是还是用的是request,这样你的request里面就储存了
    然后你在servlet里面做了验证以后,还是要跳转到login页面
    在input里面写一个value就行:<input type="text" name="username" value="param.username">
    <!--param里是上次的请求,如果没有就不显示也不报错-->
      

  6.   

    (⊙o⊙)哦!!我大概明白你的意思,不过,正式的登陆页面应该不是这样传来传去的吧?
    我看到CSDN的登陆表单是:“<form name="logform" action="#">”,这个我不知道他怎么实现的。
      

  7.   

    如果你传到自身页面,无非就是把servlet那部分代码复制到登录页面里。这样更不好!!或者你可以用11楼说的办法,如果你能驾驭ajax的话!
      

  8.   

    csdn登录画面中,
    <a id="aLogin" class="btn_login" href="javascript:void(0);"><span>登 录</span></a>
    应该是js提交的。
      

  9.   

    在servlet中:request.setAttribute("login_error","用户名或密码错误");
    request.getRequestDispatcher("login.jsp").forward(request,response);
    在登陆页面login.jsp中取得绑定值login_error
    我也是java初学者,呵呵
      

  10.   

    用不用直接给你ajax实现的代码?
      

  11.   

    我用自己的方法解决了,不过速度有点慢。
    就是让servlet跳转到出错页面:passwordNotCorrect.html<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
    <script type="text/javascript">
    window.alert("用户密码错误!");
    history.go(-1);
    </script>
    </body>
    </html>
    由javascript调用history.go(-1)方法,回退到前一页面,其实就是调用了浏览器的后退按钮。
    只是这个方法后退的有点慢哎~~~
      

  12.   

    你既然用的是servlet,就重定向
    response.sendRedirect("ss.jsp?username="+username+"&password="+password)然后在页面中用request.getParameter(username)来获取
      

  13.   


    <input type="text" name="username" value="${param.username}">
    <!--param里是上次的请求,如果没有就不显示也不报错-->
    <!--param外面少了一点东西-->在servlet里面进行判断不就行吗?然后在每个判断下面放一个
    request.setAttribute("error","错误提示");
    在login里面接受,用js的alert不就行了吗?  <%
    request.setAttribute("error","密码错误");
    %>
    <a href="read.jsp">read</a>
    <%
    if(request.getAttribute("error") != null){
    String error = request.getAttribute("error").toString();
    //System.out.println(error);
    %>
    <script language="javascript">
    alert("<%=error%>");
    </script>
    <%
    }
    %>对于功能的实现我觉得重要的实现效果,对于别人的情况可以仿真,没有必要特别刻意追求被人的实现,技术层面也不再一起,我也是初学者,就是提供一下我实现的方式
      

  14.   

    重定向哪里还能获取request里面的值啊?
      

  15.   

    就是因为重定向,才用的url传值的