2012-09-27 2 views
-1

안녕하세요 나는 새 JSP에 .I은 project.I에 대한 고객 가입 페이지 내 사용자 ID가 unique.So 내가 및 onblur 이벤트 확인을 위해 ID를 보낸다되고 싶어요 개발하고 그 textfield.But의 널 포인터 exception.Please이 코드를 도와주세요.JSP 사용자 ID 유효성 검사

HTML 코드 (register.html) :

<head> 

<script type="text/javascript"> 
function OnButton1() 
{ 
var userid = document.getElementById("user").value; 
window.location.replace("register.jsp?userid="+userid); 
document.registerform.action = "useridvalidcode.jsp" 

    document.registerform.submit(); 
    return true; 
} 
    function confirmPass() { 
     var pass = document.getElementById("pass").value; 
     var confPass = document.getElementById("c_pass").value; 
     if(pass != confPass) {   
alert('Wrong confirm password !'); 
document.getElementById("c_pass").value=""; 
document.registerform.cpassword.focus(); 

} }</script> 
</head> 

<body bgcolor="#DFBB81" onload="document.registerform.userid.focus();"> 
<div align="center"> 
    <table width="1024" border="0"> 
    <tr> 
     <td><jsp:include page="head.jsp"/></td> 
    </tr> 
    <tr> 
     <td height="217" valign="top"> 
     <form name="registerform" method="post" action="registercode.jsp"> 
     <table width="563" border="0"> 
     <tr> 
      <td width="19">&nbsp;</td> 
      <td width="144"><font color="#990000" size="+2">Register:</font></td> 
      <td width="204">&nbsp;</td> 
      <td width="168">&nbsp;</td> 
     </tr> 
     <tr> 
      <td>&nbsp;</td> 
      <td>User Id: </td> 
      <td><label></label></td> 
      <td>&nbsp;</td> 
     </tr> 
     <tr> 
      <td>&nbsp;</td> 
      <td><input type="text" name="userid" id="user" required="required" onblur="return OnButton1();"/></td> 
      <td><label></label></td> 
      <td>&nbsp;</td> 
     </tr> 
     <tr> 
      <td>&nbsp;</td> 
      <td>Password: </td> 
      <td>&nbsp;</td> 
      <td>&nbsp;</td> 
     </tr> 
     <tr> 
      <td>&nbsp;</td> 
      <td><input type="password" id="pass" name="password" required="required" /></td> 
      <td>&nbsp;</td> 
      <td>&nbsp;</td> 
     </tr> 
     <tr> 
      <td>&nbsp;</td> 
      <td>Confirm password: </td> 
      <td>&nbsp;</td> 
      <td>&nbsp;</td> 
     </tr> 
     <tr> 
      <td>&nbsp;</td> 
      <td><label> 
     <input type="password" id="c_pass" value="" onblur="confirmPass()" name="cpassword" required="required" /> 
      </label></td> 
      <td>&nbsp;</td> 
      <td>&nbsp;</td> 
     </tr> 
     <tr> 
      <td>&nbsp;</td> 
      <td>Email:</td> 
      <td>&nbsp;</td> 
      <td>&nbsp;</td> 
     </tr> 
     <tr> 
      <td>&nbsp;</td> 
      <td><label> 
      <input type="email" name="email" required="required" /> 
      </label></td> 
      <td>&nbsp;</td> 
      <td>&nbsp;</td> 
     </tr> 
     <tr> 
      <td>&nbsp;</td> 
      <td>Mobile no: </td> 
      <td>&nbsp;</td> 
      <td>&nbsp;</td> 
     </tr> 
     <tr> 
      <td>&nbsp;</td> 
      <td> 
      <input type="tel" pattern='\d{10}' title="10 digit mobile number format" required="required" name="mobileno"/>   </td> 
      <td>&nbsp;</td> 
      <td>&nbsp;</td> 
     </tr> 
     <tr> 
      <td>&nbsp;</td> 
      <td>Address:</td> 
      <td>&nbsp;</td> 
      <td>&nbsp;</td> 
     </tr> 
     <tr> 
      <td>&nbsp;</td> 
      <td><textarea name="address" rows="5" required="required" style="resize:none"></textarea></td> 
      <td>&nbsp;</td> 
      <td>&nbsp;</td> 
     </tr> 
     <tr> 
      <td>&nbsp;</td> 
      <td>&nbsp;</td> 
      <td>&nbsp;</td> 
      <td>&nbsp;</td> 
     </tr> 
     <tr> 
      <td>&nbsp;</td> 
      <td><input type="submit" name="Submit" value="Submit" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      <input type="reset" name="Submit2" value="Reset" /></td> 
      <td>&nbsp;</td> 
      <td>&nbsp;</td> 
     </tr> 
     <tr> 
      <td>&nbsp;</td> 
      <td><span class="style2">*</span> All fields mandatory </td> 
      <td>&nbsp;</td> 
      <td>&nbsp;</td> 
     </tr> 
     </table> 
     </form></td> 
    </tr> 
    <tr> 
     <td><jsp:include page="foot.html"/></td> 
    </tr> 
    </table> 
</div> 
</body> 
</html> 

JSP 코드 (useridvalidcode.jsp는) :

<body> 
<%@page import="java.sql.*"%> 
<% 
String userid=request.getParameter("userid"); 
try{ 
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
Connection con = DriverManager.getConnection("jdbc:odbc:pd"); 
ResultSet rs = null; 

Statement st = con.createStatement(); 
String sql=("select * from register where userid='"+ userid +"'"); 
st.executeQuery(sql) ; 
       int ct = 0; 
    while(rs.next()) 
     { 
     ct++; 
     } 
    if (ct > 0) 
     { 
     %><script type="text/javascript"> alert("duplicate"); </script> <% 
     } 
    else 
     { 
    %><script type="text/javascript"> alert("new"); </script> <% 
     } 
rs.close(); 
st.close(); 
con.close(); 
} 
catch(Exception e){ 
out.println(e.toString()); 
       return ; 

} 
%> 
<script language="javascript"> 
alert("Successfully regestered"); 
</script> 
<jsp:include page="../page/home.jsp"/> 
</body> 
</html> 
<body> 
<%@page import="java.sql.*"%> 
<% 
String userid=request.getParameter("userid"); 
try{ 
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
Connection con = DriverManager.getConnection("jdbc:odbc:pd"); 
ResultSet rs = null; 

Statement st = con.createStatement(); 
String sql=("select * from register where userid='"+ userid +"'"); 
st.executeQuery(sql) ; 
       int ct = 0; 
    while(rs.next()) 
     { 
     ct++; 
     } 
    if (ct > 0) 
     { 
     %><script type="text/javascript"> alert("duplicate"); </script> <% 
     } 
    else 
     { 
    %><script type="text/javascript"> alert("new"); </script> <% 
     } 
rs.close(); 
st.close(); 
con.close(); 
} 
catch(Exception e){ 
out.println(e.toString()); 
       return ; 

} 
%> 
<script language="javascript"> 
alert("Successfully regestered"); 
</script> 
<jsp:include page="../page/home.jsp"/> 
</body> 
</html> 

<body> 
<%@page import="java.sql.*"%> 
<% 
String userid=request.getParameter("userid"); 
try{ 
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
Connection con = DriverManager.getConnection("jdbc:odbc:pd"); 
ResultSet rs = null; 

Statement st = con.createStatement(); 
String sql=("select * from register where userid='"+ userid +"'"); 
st.executeQuery(sql) ; 
       int ct = 0; 
    while(rs.next()) 
     { 
     ct++; 
     } 
    if (ct > 0) 
     { 
     %><script type="text/javascript"> alert("duplicate"); </script> <% 
     } 
    else 
     { 
    %><script type="text/javascript"> alert("new"); </script> <% 
     } 
rs.close(); 
st.close(); 
con.close(); 
} 
catch(Exception e){ 
out.println(e.toString()); 
       return ; 

} 
%> 
<script language="javascript"> 
alert("Successfully regestered"); 
</script> 
<jsp:include page="../page/home.jsp"/> 
</body> 
</html> 
+1

예외 스택 추적을 게시하는 것이 더 도움이됩니다. – turtledove

답변

2

나는 오류가 여기에서 오는 확신합니다.

ResultSet rs = null; 
... 
while(rs.next()) 

여기서 rs는 항상 null입니다.

+0

+1 그게 그들이 JSP로 데이터베이스 물건을 넣는 방법입니다 ... –

+0

제안 주셔서 감사하지만 나 에게이 코드에 대한 해결책을 줄 수 있습니다. –

+0

st.executeQuery (sql)를 rs = st.executeQuery (sql)로 변경하십시오. 그리고 (rs.next())) 동안) (null)에 대한 항상 확인하는 것이 좋습니다 (rs! = null) ... – Alex

관련 문제