2013-10-10 18 views
3

我想連接到一個數據庫,具體取決於在.jsp表單中輸入的數據。我不知道如何連接到Javascript中的數據庫。如何在Javascript中編寫數據庫連接?

我的代碼如下:這裏

<%@ page contentType="text/html; charset=iso-8859-1" language="java" %> 
<html> 
<head> 
<script> 
function validateForm() 
{ 
    if(document.frm.username.value=="srinu") 
{ 
    // conect database here 
} 
else 
{ 
    alert("wrong input"); 
    document.frm.pwd.focus(); 
    return false; 
} 
} 

的身體,我想根據體內輸入的詳細信息來連接數據庫。

<body> 
<form name="frm" method="get" action="validateInput.jsp" onSubmit="return validateForm()"> 
<table width="100%" border="0" cellspacing="0" cellpadding="0"> 
    <tr> 
    <td width="22%">&nbsp;</td> 
    <td width="78%">&nbsp;</td> 
    </tr> 
    <tr> 
    <td>UserName </td> 
    <td><input type="text" name="username" /></td> 
</tr> 

<tr> 
<td>&nbsp;</td> 
<td><input type="submit" name="submit" value="Submit"></td> 
</tr> 
<tr> 
<td>&nbsp;</td> 
<td>&nbsp;</td> 
</tr> 
</table> 
</form> 
</body> 
</html> 
+1

你不應該在你的javascript中做這個驗證。這不是一個好習慣。你將這個值傳遞給servlet並在那裏進行驗證。 –

+0

你能舉一些簡單的例子嗎? – Vasu

+0

您可以像Java一樣在JSP中創建數據庫連接。但是,它不是一個很好的練習,您需要創建一次連接,並在JSP會話的幫助下通過應用程序傳輸該連接。 –

回答

4

無法從客戶端連接到數據庫。 JavaScript運行在具有非常嚴格的安全限制的瀏覽器上。保留JavaScript上的任何連接字符串根本不是一個好習慣。不要在客戶端保留任何敏感的東西。打電話給服務器端驗證並處理。

function validateForm() 
{ 
    if(document.frm.username.value=="srinu") 
    { 
     $.ajax({ 
      type: 'GET', 
      url: 'validateuser?username=document.frm.username.value' + '&Pwd=' + document.frm.userpassword.value, 
      success: function (data) {     
       if (data=='Y') 
        alert('Valid User'); 
       else 
        alert('Invalid User'); 
      }, cache: false, 
      error: function (xhr, ajaxOptions, thrownError) { 
       alert('failed.'); 
      } 
      }); 
    } 
} 
0

@ user2773010很樂意幫忙,而不是整個項目。您需要考慮如何根據您的要求實施以下snippit。

String userName = request.getParameter("user"); 
String password = request.getParameter("pass"); 

try 
{ 
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver") ; 
    con = DriverManager.getConnection("jdbc:odbc:library", "administrator", ""); 
    stat = con.createStatement(); 
    System.out.println("user Connected"); 
    rs = stat.executeQuery("Select * FROM User_Master"); 
    while(rs.next()) 
    { 

    String un = rs.getString(5); 
    String Pwd = rs.getString(6); 

    if(un.equals(userName) && Pwd.equals(password)) 
    { 
     session.setAttribute("username",un); 
     String des = "http://localhost:8080/Final_Review/review/homeuser.jsp"; 
     response.sendRedirect(response.encodeRedirectURL(des)); 
     break; 
    } 
    /* else 
    { 
     response.sendRedirect(response.encodeRedirectURL("http://localhost:8080/Final_Review/review/ErrorPage.jsp")); 
    }*/ 
    } 
    stat.close(); 
    con.close(); 
} 
catch (ClassNotFoundException e) 
{ 
    e.printStackTrace(); 
} 
catch(SQLException se) 
{ 
    System.out.println(se); 
} 
} 
相關問題