大家帮帮忙啊3楼的没有看清我的问题,我说的是所有的页面突然就全变成这个样子了(重新启动tomcat并刷新页面就好了)
当然add_jsp.java也跟着变成相应的页面了。

解决方案 »

  1.   

    到Tomcat的运行日志里面找找原因
      

  2.   

    NullPointerException 空指针异常
    把出现这种异常的页面代码帖出来,你也可以看看tomcat的日志文件,把日志信息帖出来!在线帮忙解决,请楼主及时更新你的错误信息,并提供可靠的异常,我会尽力为您解答!
      

  3.   

    tomcat的日志好多啊?是哪一个?
      

  4.   

    可能是因为数据库连接池没有能够正确地释放。如果使用的是 tomcat 带的连接池程序,注意修改设置,特别注意最大使用时间,最大空闲时间。如果是你自己写的连接池程序,要注意一下什么时候你释放了数据库连接的,如果jsp运行时间过长,你有没有强行释放数据库连接。
      

  5.   

    说的有道理.我做的原来的一个也是这样,就是因为jsp运行时间过长,没有强行释放数据库连接造成的
    你说的好象不是程序有问题,以为程序有问题的话不会偶尔出问题,而是经常出问题,所以估计就是数据裤连接没有释放的原因,最好每个页面conn.close()一下
      

  6.   

    如果确认程序没有问题,可以考虑换一个新的tomcat
      

  7.   

    根据我个人的经验一定是jsp运行时间过长,没有释放数据库连接造成的
    我用的是使用的是 tomcat 带的连接池程序,请sswater告诉我怎么修改设置
    万分感激
      

  8.   

    凭你说的现象,我只是估计是连接池问题,你只能是试试看,%tomcat_home%\webapps\tomcat-docs\jndi-datasource-examples-howto.html
    有详细的文档。关注其中的几个关键字眼:
    removeAbandoned,removeAbandonedTimeout --- 跟最大连接时间有关
    maxIdle --- 跟最大空闲时间有关中文的文档我给你找了一个:
    http://www.knowsky.com/4153.html摘录如下:
    <Resource name="jdbc/connectDB" auth="Container" type="javax.sql.DataSource"/>
    <ResourceParams name="jdbc/connectDB">
     <parameter>
      <name>maxActive</name>
      <!-- Maximum number of DB connections in pool.Set to 0 for no limit. -->
      <value>100</value>
     </parameter>
     <parameter>
      <name>maxIdle</name>
      <!-- Maximum number of idle DB connections to retain in pool.Set to 0 for no limit. -->
      <value>30</value>
     </parameter>
     <parameter>
      <name>maxWait</name>
      <!-- Maximum time to wait for a DB connection to become available in ms.An exception is thrown if this timeout is exceeded.Set to -1 to wait indefinitely. -->
      <value>10000</value>
     </parameter>
     <parameter>
      <name>removeAbandoned</name>
      <!-- Abandoned DB connections are removed and recycled -->
      <value>true</value>
     </parameter>
     <parameter>
      <name>removeAbandonedTimeout</name>
      <!-- Use the removeAbandonedTimeout parameter to set the number of seconds a DB connection has been idle before it is considered abandoned.  -->
      <value>60</value>
     </parameter>
     <parameter>
      <name>logAbandoned</name>
      <!-- Log a stack trace of the code which abandoned -->
      <value>false</value>
     </parameter>
     <parameter>
      <name>factory</name>
      <!-DBCP Basic Datasource Factory -->
      <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
     </parameter>
     <parameter>
      <name>username</name>
      <!-- Database User Name -->
      <value>Iorishinier</value>
     </parameter>
     <parameter>
      <name>password</name>
      <!-- User Password -->
      <value>mypasswd</value>
     </parameter>
     <parameter>
      <name>driverClassName</name>
      <!-- Database Driver Class Name -->
      <value>net.sourceforge.jtds.jdbc.Driver</value>
     </parameter>
     <parameter>
      <name>url</name>
      <!-- Database Address -->
      <value>jdbc:jtds:sqlserver://127.127.127.127:1433/Northwind</value>
     </parameter>
    </ResourceParams>
    </Context>
      

  9.   

    连接数满
    conn.close()最好写在finally里面,以保证安全
      

  10.   

    大家都说得很明白了。
    1,检查代码,把conn没关闭的都关闭。
    2,在连接池配置里加上两个参数。
     <parameter>
      <name>removeAbandoned</name>
      <!-- Abandoned DB connections are removed and recycled -->
      <value>true</value>
     </parameter>
     <parameter>
      <name>removeAbandonedTimeout</name>
      <!-- Use the removeAbandonedTimeout parameter to set the number of seconds a DB connection has been idle before it is considered abandoned.  -->
      <value>60</value>
     </parameter>