如何在jsp中更改内容时从数据库中检索内容

时间:2013-02-06 02:03:37

标签: ajax jsp jquery

我是html5& jsp的初学者, 我只想在从数据库更改后进行房间清单检索。 基本上当我点击我的主页页面上的空间列表时,我可以获得房间清单,但如果另一个用户腾出空间,我就无法实时获得房间清单。请帮帮我,谢谢

听到我的主页代码

<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<%@ page import="java.sql.*"%>
<%@ page import="java.util.*" %>
<% request.setCharacterEncoding("euc-kr"); %>
<html>
<Head>
    <meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
    <title>RoomListing</title>
    <link rel="stylesheet"   href="http://code.jquery.com/mobile/1.0a4.1/jquery.mobile-1.0a4.1.min.css" />  
    <script src="http://code.jquery.com/jquery-1.5.2.min.js"></script>
    <script src="http://code.jquery.com/mobile/1.0a4.1/jquery.mobile-1.0a4.1.min.js"></script>
    <script type="text/javascript">
    function ReloadPage() {
       location.reload();
        alert("hihi");
    };
    $(document).ready(function() {
        alert("hi");    

        setInterval("ReLoadPage()", 3000);
    });
    </script>   
</Head>
<body>
<section id="page1" data-role="page">
<%
//String subject = request.getParameter("subject");


Connection conn = null;
Statement stmt = null;

try{
    Class.forName("com.mysql.jdbc.Driver").newInstance();
    conn = DriverManager.getConnection( "jdbc:mysql://localhost:8888/test",
             "root", "1234" );
    if(conn==null)
        throw new Exception("데이터베이스에 연결할 수 없습니다.<br>");


    stmt = conn.createStatement();
    ResultSet rs = stmt.executeQuery("select * from roominfo");
    ArrayList<String> room_list = new ArrayList<String>();
    while(rs.next()){
        room_list.add(rs.getString("id")+":"+rs.getString("subject")+":"+rs.getString("content"));
    }


    int num = room_list.size();
    request.setAttribute("num", num);

    for(int i=0; i<num; i++){

        String room_name = null;
        String max = room_list.get(i);
        out.print("<input type ='button' id = 'button1' value = "+max+">");
        request.setAttribute("room_name"+i, room_list.get(i));
    }

}catch(Exception e){
    e.printStackTrace();

}finally{
    try{
        stmt.close();
    }catch (Exception ignored){
    }
    try {
        conn.close();
    }catch(Exception ignored){}

    }
//RequestDispatcher dispatcher = request.getRequestDispatcher("RoomListing1.jsp");
//dispatcher.forward(request, response);

%>  

</section>
</body>
</html>

1 个答案:

答案 0 :(得分:0)

基本上刷新或重新加载只会改变jsp相关的东西,如颜色,图像,样式等。 在scriptlet中编写的Java代码与刷新无关。因此,当点击房间列表时,所有正在发生的事情都是页面被刷新。如果你想动态获取数据,你需要创建一个servlet来管理java相关的活动,每次点击用户列表或刷新页面时都应该调用这些活动。你不能在JSP中编写完整的代码,这不是一个好方法。