java异常及解决方案集合(不断更新中ing) 不指定

Heck post in 编程杂谈 2009/05/14 19:52 评论(0) 阅读(1548) | |
  1. 异常名称及描述:javax.servlet.ServletException: Request does not contain handler parameter named action. This may be caused by whitespace in the label text.
     解决方法:在表单FROM里如果把POST和GET搞错了会有这种错误

  2. 异常名称及描述:java.lang.OutOfMemoryError: Java heap space
     解决方法:这个问题的根源是jvm虚拟机的默认Heap大小是64M,可以通过设置其最大和最小值来实现.设置的方法主要是几个. 如果操作系统是windows,可以更改系统环境变量,加上JAVA_OPTS=-Xms64m -Xmx512m;如果服务器用的解压版tomcat,可以在C:tomcat5.5.9bincatalina.bat文件中找到“rem Guess CATALINA_HOME if not defined”,在其后加入set JAVA_OPTS=-Xms64m -Xmx256m;如果操作系统是linux,在{tomcat_home}/bin/catalina.sh的前面,加set JAVA_OPTS=-Xms64 -Xmx512

3. 异常名称及描述:java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Underlying input stream returned zero bytes
     解决方法:如果数据库中某些字段数据类型是Text,并且该字段保存了NULL或者”"(空字符)、数据库驱动是MS SqlServer Driver,在jdbc中使用 getString(”c_name”);的时候就会出现此异常。所以最好在该列设置默认值。保证有值。或者将数据库驱动换成jtds(http://jtds.sourceforge.net)时候也不会出现此异常。

  4. 异常名称及描述:Can’t start a cloned connection while in manual transaction mode.
      原因:在手工事务模式 (AutoCommit=false) 下,如果使用直接 (SelectMethod=direct) 模式,当您尝试对使用 JDBC 驱动程序的 SQL Server 数据库执行多个语句时,将会出现此问题。直接模式是该驱动程序的默认模式。
     解决方法:当你使用手动事务模式时,必须把SelectMethod 属性的值设置为 Cursor, 或者是确保在你的连接只有一个STATEMENT操作。方法是修改数据库连接字符串:jdbc:microsoft:sqlserver://localhost:1433;SelectMethod=cursor

5. 异常名称及描述:java.lang.NoClassDefFoundError: org/jaxen/JaxenException。

      原因:项目中没有加入jaxen的jar包。
     解决办法:将jaxen的jar包导入项目中就行了。


来源:Heck's Blog
地址:http://www.hecks.tk/post/43/
转载时须以链接形式注明作者和原始出处及本声明,否则将追究法律责任,谢谢配合!