Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JSP登录流不工作_Java_Javascript_Html_Jsp - Fatal编程技术网

Java JSP登录流不工作

Java JSP登录流不工作,java,javascript,html,jsp,Java,Javascript,Html,Jsp,我有以下代码,但它似乎不工作,因为我没有得到任何登录失败的响应。页面只会自动刷新 我有jsp用于登录。它在内部调用javascript进行验证,然后将数据传输到另一个jsp页面 这是我的档案: Login.jsp Validate.jsp Login.jsp <%@ page language="java" %> <%@ page session="true" %> <%@ page import="java.sql.*,java.io.*,com.minglesp

我有以下代码,但它似乎不工作,因为我没有得到任何登录失败的响应。页面只会自动刷新

我有jsp用于登录。它在内部调用javascript进行验证,然后将数据传输到另一个jsp页面

这是我的档案:

Login.jsp Validate.jsp

Login.jsp

<%@ page language="java" %>
<%@ page session="true" %>
<%@ page import="java.sql.*,java.io.*,com.minglespot.MyFunctions"%>
    <%! String ErrCode="0",LoginCode="A";%>

     <HTML>
            <HEAD>
    <script type="Javascript" SRC="Images/validate.js"></script>
    <LINK href="styles.css" type="text/css" rel="stylesheet">
        <script type="Javascript" SRC="Images/calender.js"></script>
    <script type="Javascript" >
        function ChkMandatoryField(F,T){
                var val= F.value;
            if(val==""){alert(T+" is mandatory");return false;}
        }
            function ChkNumField(F,T){
            var val = F.value;
            if(isNaN(val)==true||val==""){alert("Please enter numbers for "+T);return false;}
            }
        function ChkAlphaNumericField(F,T){
            var val = F.value;
                var pattern = /^([a-zA-Z0-9]{1,250})$/;
            if(!(pattern.test(val)==true)){alert("Please enter alphabets or numbers for "+T);return false;}
        }
            function ChkAlphaField(F,T){
            var val = F.value;
            var pattern = /^([a-zA-Z ]{1,250})$/;
                if(!(pattern.test(val)==true)){alert("Please enter text for "+T);return false;}
        }
        function ChkEmailField(F,T){
                var val = F.value;
            var pattern = /^([a-zA-Z0-9\_\.]{4,25})$/;
            if(!(pattern.test(val)==true)){alert("Please enter valid email for "+T);return false;}
            }
        function ChkDateField(F,T)
        {
                var val = F.value;
            var pattern = /^[0-9]{4}-[0-9]{2}-[0-9]{2}$/;
            if(!(pattern.test(val)==true)){alert("Please enter valid date format (yyyy-mm-dd) for "+T);return false;}
            }
        function validate()
        {
                var frm = document.forms(0);
            if(ChkMandatoryField(frm.UserID,'UserID')==false) return false;
            if(ChkAlphaField(frm.UserID,'UserID')==false) return false;
                if(ChkMandatoryField(frm.uPassword,'Password')==false) return false;
            if(ChkAlphaNumericField(frm.uPassword,'Password')==false) return false;

            }
        function fnValidate(s){
        var frm = document.forms(0);
            var UserID=frm.UserID.value;
        //if(UserID==""){alert("User ID is mandatory");return false;}
        var uPassword=frm.uPassword.value;
            //if(uPassword==""){alert("Password is mandatory");return false;}
        s.href = "Validate.jsp?UserID="+UserID+"&Password="+uPassword;
        s.target="HomeFrame";
            }

    </script>
        </HEAD>
    <Body Class='Grad'>
    <FORM name="Login">
        <%
        ErrCode = request.getParameter("ErrCode");
        LoginCode = request.getParameter("LoginCode");  
            if(ErrCode!=null){
            if(ErrCode.equals("1")){
              %><script>alert("Login failed..please try again");</script><%
                }
        }
    %>
        <fieldset style="padding: 3;">
 <legend><FONT COLOR="" Face='verdana' size='2'><B>Login</B></FONT></Legend>

        <TABLE style="align=center" style="width=60%" class="notepad">
        <TR class="row_title">
          <TH align="center" colspan=3><FONT SIZE="4" COLOR="#AA2504" face='monotype corsiva'>Login</FONT></TH>
            </TR>
        <tr>
          <TD align="left"><FONT SIZE="2" COLOR="#AA2504" face='monotype corsiva'>User ID</FONT><FONT COLOR="red">*</FONT></TD>
              <TD><Input type=text name='UserID' value=''  size=8></TD></tr>
          <tr><TD align="left"><FONT style="SIZE=2" COLOR="#AA2504" face='monotype corsiva'></FONT>Password<FONT COLOR="red">*</FONT></TD>
          <TD><Input type=password name='uPassword' value='' size=8></TD>
          <TD><a href="" onclick="fnValidate(this)"><img border="0" name="Go" src="Images/Go0.jpg" onmouseover="document['Go'].src='Images/Go1.jpg'" onmouseout="document['Go'].src='Images/Go0.jpg'" ></a></tr>

    </TABLE>
     </fieldset>
 <BR><BR>
     <fieldset style="padding: 3;">
 <legend><FONT COLOR="" Face='verdana' size='2'><B>Register</B></FONT></Legend>
            <P align=center><FONT SIZE="4" COLOR="#AA2504" face='monotype corsiva'>If you are not a registered user <Font COLOR="#AE0000"><B>Register Now</B></Font> its free</FONT></P>
<table style="align=center">

    <tr align=center><TD><A HREF="Register0.jsp" target="HomeFrame"><img border="0" name="Register" src="Images/Register0.jpg" onmouseover="document['Register'].src='Images/Register1.jpg'" onmouseout="document['Register'].src='Images/Register0.jpg'" ></A></TD>
    </tr>

</Table>

</fieldset>
</FORM>
</BODY>

函数chkmanadoryfield(F,T){
var val=F.值;
如果(val==”){alert(T+“是必需的”);返回false;}
}
函数ChkNumField(F,T){
var val=F.值;
如果(isNaN(val)=true | | val==”){alert(“请为“+T”输入数字);返回false;}
}
函数ChkAlphaNumericField(F,T){
var val=F.值;
变量模式=/^([a-zA-Z0-9]{1250})$/;
如果(!(pattern.test(val)==true)){alert(“请为“+T”输入字母或数字);返回false;}
}
函数ChkAlphaField(F,T){
var val=F.值;
var模式=/^([a-zA-Z]{1250})$/;
如果(!(pattern.test(val)==true)){alert(“请为“+T”输入文本);返回false;}
}
函数ChkEmailField(F,T){
var val=F.值;
变量模式=/^([a-zA-Z0-9\\.]{4,25})$/;
如果(!(pattern.test(val)==true)){alert(“请为“+T”输入有效电子邮件);返回false;}
}
函数ChkDateField(F,T)
{
var val=F.值;
var模式=/^[0-9]{4}-[0-9]{2}-[0-9]{2}$/;
如果(!(pattern.test(val)==true)){alert(“请为“+T”输入有效的日期格式(yyyy-mm-dd);返回false;}
}
函数验证()
{
var frm=文件表格(0);
if(chkmanadoryfield(frm.UserID,'UserID')==false)返回false;
if(ChkAlphaField(frm.UserID,'UserID')==false)返回false;
if(chkmanadoryfield(frm.uPassword,'Password')==false)返回false;
if(ChkAlphaNumericField(frm.uPassword,'Password')==false)返回false;
}
功能验证{
var frm=文件表格(0);
var UserID=frm.UserID.value;
//if(UserID==“”){alert(“用户ID是必需的”);返回false;}
var uPassword=frm.uPassword.value;
//if(uPassword==“”){alert(“密码是必需的”);返回false;}
s、 href=“Validate.jsp?UserID=“+UserID+”&Password=“+uPassword;
s、 target=“HomeFrame”;
}
警报(“登录失败..请重试”);
登录
登录
用户ID*
密码*


登记

如果您不是注册用户,请立即免费注册

Validate.jsp:

<%@ page language="java" %>
<%@ page session="true" %>
<%@ page import="java.sql.*,java.io.*,java.util.Random"%>

<HEAD>


    <script TYPE="Javascript" SRC="Images/validate.js"></script>
    <LINK href="styles.css" type="text/css" rel="stylesheet">

</HEAD>
<BODY class="Sess">
    <%
    java.sql.Connection con=null;
    java.sql.ResultSet rs=null,rs1=null;
        PreparedStatement stmt=null,stmt1=null;

    //Connection con=null;
        //ResultSet rs=null,rs1=null;
    //Statement stmt=null,stmt1=null;
    String UserID = request.getParameter("UserID"); 
        String Password = request.getParameter("Password");
    session.setAttribute("UserID",UserID);
    int flag=0;
        try{
        Class.forName("com.mysql.jdbc.Driver");
        System.out.println("Connecting to database...");
            con = DriverManager.getConnection("jdbc:mysql://localhost:3306/friendzavenue", "root", "");
        System.out.println("con is:"+con);
        if(con != null)
                System.out.println("Connection Pool Database Connection Success");
        //System.out.println("con is: "+ con);

            stmt =  con.prepareStatement("select * from login where UserID = '"+UserID+"' and Password='"+Password+"'");
        stmt1 =  con.prepareStatement("Select * from basicdetails where UserID='"+UserID+"' and Password='"+Password+"'");
            //String Query = "select * from login where UserID = '"+UserID+"' and Password='"+Password+"'";
                //System.out.println(Query);
            rs = stmt.executeQuery();
            System.out.println("stmt execution: "+rs);
                if(rs!=null){
                //String Query1="Select * from basicdetails where UserID='"+UserID+"' and Password='"+Password+"'";
                //System.out.println(Query1);
                    rs1=stmt1.executeQuery();
                System.out.println("stmt1 execution: "+rs1);
                if(rs1!=null)
                        {
                        while(rs1.next()){
                        String PhotoPath=rs1.getString(4);
                            System.out.println("-------------------"+PhotoPath);
                        session.setAttribute("PhotoPath",PhotoPath);
                        }
                        }
            }
            if(rs.next())   
                {
            String Auth=rs.getString(3);
            session.setAttribute("Auth",new Integer(Auth));
                     flag=1;


                 if(Auth.equals("0")){

                //Show Admin Menu
                    %>
                  <jsp:forward page="AdminMenu.jsp"/>
                <%
                 }else if(Auth.equals("1")){
                //Show user Menu
                %>
                      <jsp:forward page="UserHome.jsp"/>

                <%
                 }
            }
            else
                {
             flag=0;

                 %>
                  <jsp:forward page="Login.jsp"/>

                 <%
            }
            stmt.close();
                con.close();
        }catch(Exception e){
            stmt.close();
                con.close();
            %><%=e%><%
        }

%>
</BODY>

所以,问题是代码似乎工作不正常。有人能在这里帮忙吗。

代替这个
使用以下命令:

我建议您像这样使用getElementById:

<Input type=text id='userId' name='UserID' value=''  size=8>
然后您可以检查密码是否至少有一个数字等


如果您没有被迫使用scriptlet(
),我建议您不要使用它们。它们已被弃用

问题是什么?您应该格式化您的代码,这样很容易阅读。问题是我的登录不成功,也没有显示任何错误。
var user = document.getElementById("userId").value;
var password = document.getElementById("Password").value;