提交按钮时使用jsp在页面上显示消息

时间:2014-03-18 17:11:29

标签: javascript jsp

我正在处理消息页面,我已经从数据库中获取了消息的不同部分,并在用户单击检查按钮时将其显示在表中,它应该向他显示消息。如何实现这一点请简要说明。

我对此问题的编码尝试:

<form  action="Check Notification.jsp" method="post">   
    <table>
    <tr>
            <th>From</th>
        <th>Message</th>
        <th>Check</th>
            <th>Delete</th>
    </tr>
        <%
            Class.forName(driver).newInstance();
            con = DriverManager.getConnection(url + db, uname, password);
            Statement st = con.createStatement();
            String query = "Select * from push_mail WHERE rec_id='"+adm+"'";
            ResultSet rs=st.executeQuery(query);                  
        %>                     
        <%
            while(rs.next()){
        %>
                <tr>
                    <td><%=rs.getString("send_id")%></td>
                    <td style="display: none">
                        <input type="text" name="message" value='<%=rs.getString("m_id")%>' />
                    </td>
                    <td><%=rs.getString("m_sub")%><br/><%=rs.getString("date")%></td>
                    <td>
                        <input type="submit" name='check' value="Check" onclick="check()"/>
                    </td>
                    <td><img alt="Delete" src="images/Delete.jpg" width="30px" height="30px" /></td>

               </tr>
           <%
                }
           %>        
    </table>
</form> 
<p >
<%
    String msgid= request.getParameter("message");
    Class.forName(driver).newInstance();
    con = DriverManager.getConnection(url + db, uname, password);
    Statement st1 = con.createStatement();
    String msg = "Select * from push_mail WHERE m_id='"+msgid+"'";
    ResultSet rs1=st1.executeQuery(msg);                  
    while(rs.next()){
        String msgs=rs.getString("m_message");
        out.println(msgs);
    }
%>

</p>

1 个答案:

答案 0 :(得分:0)

  1. 使用Ajax(即在后台向服务器发送请求的Javascript)。 JSP是一种服务器端技术,因此无法响应客户端事件并保持在同一页面上。它只能响应表单提交,这意味着您更改页面,除非提交是通过Ajax发送的。

  2. 不要在JSP内部进行数据库访问(使用servlet)。其中一个原因是:您可以在出错时轻松公开您的数据库密码。

  3. 不要将用户输入直接粘贴到SQL语句中(他们可以通过这种方式进行SQL注入)。

  4. 不要让JSP页面提交给自己(提交给servlet)。