【问题标题】:How to write a database connection in Javascript?如何用 Javascript 编写数据库连接?
【发布时间】:2013-10-17 22:16:32
【问题描述】:

我想根据.jsp 表单中输入的数据连接到数据库。我不知道如何连接到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>

【问题讨论】:

  • 您不应该在您的 javascript 中进行此验证。这不是一个好习惯。您将此值传递给 servlet 并在那里进行验证。
  • 你能在这里举一些简单的例子吗?
  • 您可以像Java一样在JSP中创建数据库连接。但是,您需要创建一次连接并在 JSP 会话的帮助下将该连接传递到整个应用程序,这不是一个好习惯。

标签: javascript html jsp jsp-tags


【解决方案1】:

您无法从客户端连接到数据库。 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.');
            }
            });
    }
}

【讨论】:

    【解决方案2】:

    @user2773010 很高兴提供帮助,而不是整个项目。您需要考虑如何根据您的要求实现以下代码段。

    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);
    }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多