今天装了个mysql数据库,为了测试下写了个jsp显示里面的一个表数据,发现一个奇怪的问题,当我通过MySQL Command Line Client 插入一条新的数据后,重新运行JSP页面时不会显示新增加的那条数据,显示的还是之前的旧的数据,重启Tomcat服务器也是这样,只有重启了Eclipse才会显示,不知道哪里出错了?

解决方案 »

  1.   

    你的JSP页面不可能时时刻刻都会重新从你的数据库读数据。
    你可以在JSP页面中搞个刷新按钮。重新刷新数据
      

  2.   

    我重新在服务器上运行JSP页面也不行吗?
      

  3.   

    你的jsp页面是通过按钮跳转的吗?是不是没有走action了。
      

  4.   

    你查看下是不是没有走你的控制器的类了。如果是重新走了你sql查询语句的地方正常是会出来的。
      

  5.   

    没有,我就写了一个页面在服务器上面运行:代码如下:String user = "root";
    String pwd = "123456";
    String driver = "com.mysql.jdbc.Driver";
    String url = "jdbc:mysql://localhost:3306/javaee";
    Class.forName(driver).newInstance();
    Connection conn = DriverManager.getConnection(url, user, pwd);
    Statement stmt = conn.createStatement();
    ResultSet rs = stmt.executeQuery("select * from news_inf");
    while (rs.next()) {
    out.println(rs.getString(1) + "\t" + rs.getString(2) + "</br>");
    }
    //stmt.executeQuery("insert into news_inf values(null,'12323')");
    try {
    rs.close();
    stmt.close();
    conn.close();
    }
    catch (Exception e) {
    }
      

  6.   

    这个应该不是重启eclipse的问题,你插入数据之后有没有commit呢?
      

  7.   

    插入数据后 commit一下  刷新下jsp页面 应该就有数据了
      

  8.   

    我是在mysql命令行端添加的,然后在JSP中显示
      

  9.   

    初学JSP,很多东西还不明白,而且我在最开始加了个out.println("************************");也不会在页面显示,只有重启eclipse才会,我判断是服务器运行的还是之前的代码,修改后的代码根本就没有运行。
      

  10.   


    代码没有变化,只是循环显示数据而已,肯定不是你说的原因,看看是不是有页面缓存什么的
    恩,谢谢各位,已经解决了,我用Eclipse内置的那个浏览器测试就会有这个问题,但是用IE或火狐就不会,而且用其它浏览器运行了后再用内置的那个运行就OK了,问题可能出在那个内置的测试浏览器上面,有没有人解释一下的?