Java JSP登录流不工作
我有以下代码,但它似乎不工作,因为我没有得到任何登录失败的响应。页面只会自动刷新 我有jsp用于登录。它在内部调用javascript进行验证,然后将数据传输到另一个jsp页面 这是我的档案: Login.jsp Validate.jsp Login.jspJava 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
<%@ 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;