0

我必须在前端的后端数据库或服务器中显示错误。(如表删除、密码不匹配、服务器连接等)我不知道这样做。

我已经完成了: mypage.jsp

<script type="text/javascript" src="js/jquery.js"></script>
        <script type="text/javascript">
$(document).ready(function() {
    $.ajaxSetup({
        error: function(jqXHR, exception) {
            if (jqXHR.status === 0) {
                alert('Not connect.\n Verify Network.');
            } else if (jqXHR.status == 404) {
                alert('Requested page not found. [404]');
            } else if (jqXHR.status == 500) {
                alert('Internal Server Error [500].');
            } else if (exception === 'parsererror') {
                alert('Requested JSON parse failed.');
            } else if (exception === 'timeout') {
                alert('Time out error.');
            } else if (exception === 'abort') {
                alert('Ajax request aborted.');
            } else {
                alert('Uncaught Error.\n' + jqXHR.responseText);
            }
        }
    });
});
      </script>

<body>
<form id="test">
            <table id="data" cellpadding="5px;" cellspacing="5px;">
                <tr>
                    <td>name</td>
                    <td>c_price</td>

                </tr>

 <%
            Connection connection = null;

            Class.forName("oracle.jdbc.OracleDriver");
                try{
                connection = DriverManager.getConnection("jdbc:oracle:thin:@...","u_name","pwd");
                Statement stmt = connection.createStatement();

                ResultSet rs = stmt.executeQuery("SELECT * FROM test_tbl");

            while(rs.next())
                {
                   %>

   <tr>
        <td><%out.print(rs.getString("name"));%></td>
        <td><%out.print(rs.getString("c_price"));%></td>        
   </tr>
    <% }%>

<%
            connection.close();
       }
      catch(Exception e)
      {
      JOptionPane.showMessageDialog(null,"Error = " + e.getMessage());
     }//end of catch
    %>    

</table>     
</body>

从前端执行时,我从后端删除了表 test_tbl,但网页没有显示任何警报。我也输入了错误的密码,但它也没有显示任何错误。我怎么解决这个问题??

我必须在以下情况下显示警报框

当后端没有表时。上面的 ajax 代码显示了 n/w 错误的警报框,但是当数据库中没有表或密码/用户名不匹配时如何显示警报框

4

1 回答 1

0

我没有看到任何通过 ajax 和 JSP 进行用户名/密码检查的代码,所以无法给出答案。

现在为了在没有表时显示警报,您是否在从后端删除数据库表后刷新了页面(因为我没有看到触发检查catch块以外的表的 ajax 调用)?

另外我不认为 this:JOptionPane.showMessageDialog(null,"Error = " + e.getMessage());可以在 JSP 中工作,相反,您可以尝试以下方法来显示消息:

// your code ...
<%
        connection.close();
    }
    catch(Exception e)
    {
%>
<div id="errorMsg" class="errorMsg">
Error = <%= e.getMessage() %>
</div>
<%
    }//end of catch
%>
// your code continues ...

您还可以放置一些javascript代码来获取<div>内容并在页面完全加载后显示警报。

如果您可以粘贴一些显示流程的代码以及更多关于您正在做什么的详细说明,那将会很有帮助。

希望这可以帮助。

于 2012-07-25T10:15:17.223 回答