【转】JAVA异常报错大全

算术异常类:ArithmeticExecption

空指针异常类:NullPointerException

类型强制转换异常:ClassCastException

数组负下标异常:NegativeArrayException

数组下标越界异常:ArrayIndexOutOfBoundsException

违背安全原则异常:SecturityException

文件已结束异常:EOFException

文件未找到异常:FileNotFoundException

字符串转换为数字异常:NumberFormatException

操作数据库异常:SQLException

输入输出异常:IOException

方法未找到异常:NoSuchMethodException

 

1. java.lang.nullpointerexception

  这个异常大家肯定都经常遇到,异常的解释是 " 程序遇上了空指针 ",简单地说就是调用了未经初始化的对象或者是不存在的对象,这个错误经常出现在创建图片,调用数组这些操作中,比如图片未经初始化,或者图片创建时的路径错误等等。对数组操作中出现空指针,很多情况下是一些刚开始学习编程的朋友常犯的错误,即把数组的初始化和数组元素的初始化混淆起来了。数组的初始化是对数组分配需要的空间,而初始化后的数组,其中的元素并没有实例化,依然是空的,所以还需要对每个元素都进行初始化(如果要调用的话)

  2. java.lang.classnotfoundexception

  这个异常是很多原本在 jb 等开发环境中开发的程序员,把 jb 下的程序包放在 wtk 下编译经常出现的问题,异常的解释是 " 指定的类不存在 ",这里主要考虑一下类的名称和路径是否正确即可,如果是在 jb 下做的程序包,一般都是默认加上 package 的,所以转到 wtk 下后要注意把 package 的路径加上。

  3. java.lang.arithmeticexception

  这个异常的解释是 " 数学运算异常 ",比如程序中出现了除以零这样的运算就会出这样的异常,对这种异常,大家就要好好检查一下自己程序中涉及到数学运算的地方,公式是不是有不妥了。

  4. java.lang.arrayindexoutofboundsexception

  这个异常相信很多朋友也经常遇到过,异常的解释是 " 数组下标越界 ",现在程序中大多都有对数组的操作,因此在调用数组的时候一定要认真检查,看自己调用的下标是不是超出了数组的范围,一般来说,显示(即直接用常数当下标)调用不太容易出这样的错,但隐式(即用变量表示下标)调用就经常出错了,还有一种情况,是程序中定义的数组的长度是通过某些特定方法决定的,不是事先声明的,这个时候,最好先查看一下数组的 length,以免出现这个异常。

  5. java.lang.illegalargumentexception

  这个异常的解释是 " 方法的参数错误 ",很多 j2me 的类库中的方法在一些情况下都会引发这样的错误,比如音量调节方法中的音量参数如果写成负数就会出现这个异常,再比如 g.setcolor(int red,int green,int blue) 这个方法中的三个值,如果有超过255的也会出现这个异常,因此一旦发现这个异常,我们要做的,就是赶紧去检查一下方法调用中的参数传递是不是出现了错误。

  6. java.lang.illegalaccessexception

  这个异常的解释是 " 没有访问权限 ",当应用程序要调用一个类,但当前的方法即没有对该类的访问权限便会出现这个异常。对程序中用了 package 的情况下要注意这个异常。

  其他还有很多异常,我就不一一列举了,我要说明的是,一个合格的程序员,需要对程序中常见的问题有相当的了解和相应的解决办法,否则仅仅停留在写程序而不会改程序的话,会极大影响到自己的开发的。关于异常的全部说明,在 api 里都可以查阅。

 

java.lang.AbstractMethodError

抽象方法错误。当应用试图调用抽象方法时抛出。

java.lang.AssertionError

断言错。用来指示一个断言失败的情况。

java.lang.ClassCircularityError

类循环依赖错误。在初始化一个类时,若检测到类之间循环依赖则抛出该异常。

java.lang.ClassFormatError

类格式错误。当 Java 虚拟机试图从一个文件中读取 Java 类,而检测到该文件的内容不符合类的有效格式时抛出。

java.lang.Error

错误。是所有错误的基类,用于标识严重的程序运行问题。这些问题通常描述一些不应被应用程序捕获的反常情况。

 

原因:  

1. 对系统所访问外部资源,未执行关闭操作,导致外部资源大量浪费,最终可能导致系统无法正常运行;

2. 对系统所访问的外部资源关闭次数太多,外部系统无法正常处理;

3. 系统访问的外部资源出现异常情况。

解决方案:

1. 访问外部资源前,首先检查该资源 (如数据库) 是否可正常连接或操作。

2. 访问外部资源时,如果进行了连接,一定进行关闭操作,并仅进行一次关闭操作。

3. 尽量在同一操作中共享外部资源,以减少该操作对资源的消费,提高程序的执行效率

java.lang.ExceptionInInitializerError

初始化程序错误。当执行一个类的静态初始化程序的过程中,发生了异常时抛出。静态初始化程序是指直接包含于类中的 static 语句段。

java.lang.IllegalAccessError

违法访问错误。当一个应用试图访问、修改某个类的域(Field)或者调用其方法,但是又违反域或方法的可见性声明,则抛出该异常。

java.lang.IncompatibleClassChangeError

不兼容的类变化错误。当正在执行的方法所依赖的类定义发生了不兼容的改变时,抛出该异常。一般在修改了应用中的某些类的声明定义而没有对整个应用重新编译而直接运行的情况下,容易引发该错误。

java.lang.InstantiationError

实例化错误。当一个应用试图通过 Java 的 new 操作符构造一个抽象类或者接口时抛出该异常.

java.lang.InternalError

内部错误。用于指示 Java 虚拟机发生了内部错误。

java.lang.LinkageError

链接错误。该错误及其所有子类指示某个类依赖于另外一些类,在该类编译之后,被依赖的类改变了其类定义而没有重新编译所有的类,进而引发错误的情况。

java.lang.NoClassDefFoundError

未找到类定义错误。当 Java 虚拟机或者类装载器试图实例化某个类,而找不到该类的定义时抛出该错误。

java.lang.NoSuchFieldError

域不存在错误。当应用试图访问或者修改某类的某个域,而该类的定义中没有该域的定义时抛出该错误。

java.lang.NoSuchMethodError

方法不存在错误。当应用试图调用某类的某个方法,而该类的定义中没有该方法的定义时抛出该错误。

java.lang.OutOfMemoryError

内存不足错误。当可用内存不足以让 Java 虚拟机分配给一个对象时抛出该错误。

java.lang.StackOverflowError

堆栈溢出错误。当一个应用递归调用的层次太深而导致堆栈溢出时抛出该错误。

java.lang.ThreadDeath

线程结束。当调用 Thread 类的 stop 方法时抛出该错误,用于指示线程结束。

java.lang.UnknownError

未知错误。用于指示 Java 虚拟机发生了未知严重错误的情况。

java.lang.UnsatisfiedLinkError

未满足的链接错误。当 Java 虚拟机未找到某个类的声明为 native 方法的本机语言定义时抛出。

java.lang.UnsupportedClassVersionError

不支持的类版本错误。当 Java 虚拟机试图从读取某个类文件,但是发现该文件的主、次版本号不被当前 Java 虚拟机支持的时候,抛出该错误。

java.lang.VerifyError

验证错误。当验证器检测到某个类文件中存在内部不兼容或者安全问题时抛出该错误。

java.lang.VirtualMachineError

虚拟机错误。用于指示虚拟机被破坏或者继续执行操作所需的资源不足的情况。

 

java.lang.ArithmeticException

算术条件异常。譬如:整数除零等。

java.lang.ArrayIndexOutOfBoundsException

数组索引越界异常。当对数组的索引值为负数或大于等于数组大小时抛出。

java.lang.ArrayStoreException

数组存储异常。当向数组中存放非数组声明类型对象时抛出。

java.lang.ClassCastException

类造型异常。假设有类 A 和 B(A 不是 B 的父类或子类),O 是 A 的实例,那么当强制将 O 构造为类 B 的实例时抛出该异常。该异常经常被称为强制类型转换异常。

java.lang.ClassNotFoundException

找不到类异常。当应用试图根据字符串形式的类名构造类,而在遍历 CLASSPAH 之后找不到对应名称的 class 文件时,抛出该异常。

java.lang.CloneNotSupportedException

不支持克隆异常。当没有实现 Cloneable 接口或者不支持克隆方法时, 调用其 clone() 方法则抛出该异常。

java.lang.EnumConstantNotPresentException

枚举常量不存在异常。当应用试图通过名称和枚举类型访问一个枚举对象,但该枚举对象并不包含常量时,抛出该异常。

java.lang.Exception

根异常。用以描述应用程序希望捕获的情况。

java.lang.IllegalAccessException

违法的访问异常。当应用试图通过反射方式创建某个类的实例、访问该类属性、调用该类方法,而当时又无法访问类的、属性的、方法的或构造方法的定义时抛出该异常。

java.lang.IllegalMonitorStateException

违法的监控状态异常。当某个线程试图等待一个自己并不拥有的对象(O)的监控器或者通知其他线程等待该对象(O)的监控器时,抛出该异常。

java.lang.IllegalStateException

违法的状态异常。当在 Java 环境和应用尚未处于某个方法的合法调用状态,而调用了该方法时,抛出该异常。

java.lang.IllegalThreadStateException

违法的线程状态异常。当县城尚未处于某个方法的合法调用状态,而调用了该方法时,抛出异常。

java.lang.IndexOutOfBoundsException

索引越界异常。当访问某个序列的索引值小于 0 或大于等于序列大小时,抛出该异常。

java.lang.InstantiationException

实例化异常。当试图通过 newInstance() 方法创建某个类的实例,而该类是一个抽象类或接口时,抛出该异常。

java.lang.InterruptedException

被中止异常。当某个线程处于长时间的等待、休眠或其他暂停状态,而此时其他的线程通过 Thread 的 interrupt 方法终止该线程时抛出该异常。

java.lang.NegativeArraySizeException

数组大小为负值异常。当使用负数大小值创建数组时抛出该异常。

java.lang.NoSuchFieldException

属性不存在异常。当访问某个类的不存在的属性时抛出该异常。

java.lang.NoSuchMethodException

方法不存在异常。当访问某个类的不存在的方法时抛出该异常。

java.lang.NullPointerException

空指针异常。当应用试图在要求使用对象的地方使用了 null 时,抛出该异常。譬如:调用 null 对象的实例方法、访问 null 对象的属性、计算 null 对象的长度、使用 throw 语句抛出 null 等等。

java.lang.NumberFormatException

数字格式异常。当试图将一个 String 转换为指定的数字类型,而该字符串确不满足数字类型要求的格式时,抛出该异常。

java.lang.RuntimeException

运行时异常。是所有 Java 虚拟机正常操作期间可以被抛出的异常的父类。

java.lang.SecurityException

安全异常。由安全管理器抛出,用于指示违反安全情况的异常。

java.lang.StringIndexOutOfBoundsException

字符串索引越界异常。当使用索引值访问某个字符串中的字符,而该索引值小于 0 或大于等于序列大小时,抛出该异常。

java.lang.StringIndexOutOfBoundsException

字符串越界错误 等字符串类相关错误

代码段 4:

String s_all_power = "1010011";

String s_access_power = s_all_power.substring(3,4);

描述:

以上代码段功能的功能是获取字符串 s_all_power 中的第 4 个字符。

说明:

一般情况下,程序不会有问题,如果由于某种原因,s_all_power 长度变短,程序就会抛出字符串错误。

解决方案:对字符串进行截取 (substring, charAt)、转换为字节数组 (getBytes),字符数组转换为字符串(valueOf)操作时,先对操作字符串对象的存在性(是否为空)及长度进行检查后,再进行操作。

改写得到:

String s_all_power = "1010011";

if (s_all_power.length>4)

String s_access_power = s_all_power.substring(3,4);

 

java.lang.TypeNotPresentException

类型不存在异常。当应用试图以某个类型名称的字符串表达方式访问该类型,但是根据给定的名称又找不到该类型是抛出该异常。该异常与 ClassNotFoundException 的区别在于该异常是 unchecked(不被检查)异常,而 ClassNotFoundException 是 checked(被检查)异常。

java.lang.UnsupportedOperationException

不支持的方法异常。指明请求的方法不被支持情况的异常。

异常

javax.servlet.jsp.JspException: Cannot retrieve mapping for action /Login (/Login 是你的 action 名字)

可能原因

action 没有再 struts-config.xml 中定义,或没有找到匹配的 action,例如在 JSP 文件中使用 <html:form action="Login.do". 将表单提交给 Login.do 处理,如果出现上述异常,请查看 struts-config.xml 中的定义部分,有时可能是打错了字符或者是某些不符合规则,可以使用 strutsconsole 工具来检查。

-----------------------------------------------------------------------------------------------------------------

异常

org.apache.jasper.JasperException: Cannot retrieve definition for form bean null

可能原因

 

这个异常是因为 Struts 根据 struts-config.xml 中的 mapping 没有找到 action 期望的 form bean。大部分的情况可能是因为在 form-bean 中设置的 name 属性和 action 中设置的 name 属性不匹配所致。换句话说,action 和 form 都应该各自有一个 name 属性,并且要精确匹配,包括大小写。这个错误当没有 name 属性和 action 关联时也会发生,如果没有在 action 中指定 name 属性,那么就没有 name 属性和 action 相关联。当然当 action 制作某些控制时,譬如根据参数值跳转到相应的 jsp 页面,而不是处理表单数据,这是就不用 name 属性,这也是 action 的使用方法之一。

-----------------------------------------------------------------------------------------------------------------

异常

No action instance for path /xxxx could be created

可能原因

特别提示:因为有很多中情况会导致这个错误的发生,所以推荐大家调高你的 web 服务器的日志 / 调试级别,这样可以从更多的信息中看到潜在的、在试图创建 action 类时发生的错误,这个 action 类你已经在 struts-config.xml 中设置了关联(即添加了 < action> 标签)。

在 struts-config.xml 中通过 action 标签的 class 属性指定的 action 类不能被找到有很多种原因,例如:定位编译后的. class 文件失败。Failure to place compiled .class file for the action in the classpath (在 web 开发中,class 的的位置在 r WEB-INF/classes,所以你的 action class 必须要在这个目录下。例如你的 action 类位于 WEB-INF/classes/action/Login.class, 那么在 struts -config.xml 中设置 action 的属性 type 时就是 action.Login).

拼写错误,这个也时有发生,并且不易找到,特别注意第一个字母的大小写和包的名称。

-----------------------------------------------------------------------------------------------------------------

异常

javax.servlet.jsp.JspException: No getter method for property username of bean org.apache.struts.taglib.html.BEAN

可能原因

没有位 form bean 中的某个变量定义 getter 方法

这个错误主要发生在表单提交的 FormBean 中,用 struts 标记 <html:text property=”username”> 时,在 FormBean 中必须有一个 getUsername() 方法。注意字母“U”。

-----------------------------------------------------------------------------------------------------------------

异常

java.lang.NoClassDefFoundError: org/apache/struts/action/ActionForm

可能原因

这个错误主要发生在在 classpath 中找不到相应的 Java .class 文件。如果这个错误发生在 web 应用程序的运行时,主要是因为指定的 class 文件不在 web server 的 classpath 中(/WEB-INF/classes 和 /WEB-INF/lib)。在上面的错误中,原因是找不到 ActionForm 类。

-----------------------------------------------------------------------------------------------------------------

异常

javax.servlet.jsp.JspException: Exception creating bean of class org.apache.struts.action.ActionForm: {1}

可能原因

Instantiating Struts-provided ActionForm class directly instead of instantiating a class derived off ActionForm. This mightoccur implicitly if you specify that a form-bean is this Struts ActionForm class rather than specifying a child of this classfor the form-bean.

Not associating an ActionForm-descended class with an action can also lead to this error.

-----------------------------------------------------------------------------------------------------------------

异常

javax.servlet.jsp.JspException: Cannot find ActionMappings or ActionFormBeans collection

可能原因

不是标识 Struts actionServlet 的 <servlet> 标记就是映射.do 扩展名的 <sevlet-mapping> 标记或者两者都没有在 web.xml 中声明。

在 struts-config.xml 中的打字或者拼写错误也可导致这个异常的发生。例如缺少一个标记的关闭符号 />。最好使用 struts console 工具检查一下。

另外,load-on-startup 必须在 web.xml 中声明,这要么是一个空标记,要么指定一个数值,这个数值用来表 servlet 运行的优先级,数值越大优先级越低。

还有一个和使用 load-on-startup 有关的是使用 Struts 预编译 JSP 文件时也可能导致这个异常。

-----------------------------------------------------------------------------------------------------------------

异常

java.lang.NullPointerException at org.apache.struts.util.RequestUtils.forwardURL(RequestUtils.java:1223)

可能原因

在 struts-config.xml 中的 forward 元素缺少 path 属性。例如应该是如下形式:

<forward name="userhome" path="/user/userhome.jsp"/>

-----------------------------------------------------------------------------------------------------------------

异常

javax.servlet.jsp.JspException: Cannot find bean org.apache.struts.taglib.html.BEAN in any scope

 

 

Probable Causes

试图在 Struts 的 form 标记外使用 form 的子元素。这常常发生在你在 </html: form> 后面使用 Struts 的 html 标记。另外要注意可能你不经意使用的无主体的标记,如 <html:form …/>,这样 web 服务器解析时就当作一个无主体的标记,随后使用的所有 <html> 标记都被认为是在这个标记之外的,如又使用了 <html:text property=”id”> 还有就是在使用 taglib 引入 HTML 标记库时,你使用的 prefix 的值不是 html。

-----------------------------------------------------------------------------------------------------------------

异常

javax.servlet.jsp.JspException: Missing message for key xx.xx.xx

Probable Causes

这个 key 的值对没有在资源文件 ApplicationResources.properties 中定义。如果你使用 eclipse 时经常碰到这样的情况,当项目重新编译时,eclipse 会自动将 classes 目录下的资源文件删除。

资源文件 ApplicationResources.properties 不在 classpath 中应将资源文件放到 WEB-INF/classes 目录下,当然要在 struts-config.xml 中定义 )

-----------------------------------------------------------------------------------------------------------------

异常

Cannot find message resources under key org.apache.struts.action.MESSAGE

可能原因

很显然,这个错误是发生在使用资源文件时,而 Struts 没有找到资源文件。

Implicitly trying to use message resources that are not available (such as using empty html:options tag instead of specifyingthe options in its body -- this assumes options are specified in ApplicationResources.properties file)

XML parser issues -- too many, too few, incorrect/incompatible versions

-----------------------------------------------------------------------------------------------------------------

异常

Strange and seemingly random characters in HTML and on screen, but not in original JSP or servlet.

可能原因

混和使用 Struts 的 html:form 标记和标准的 HTML 标记不正确。

使用的编码样式在本页中不支持。

-----------------------------------------------------------------------------------------------------------------

异常

"Document contained no data" in Netscape

No data rendered (completely empty) page in Microsoft Internet Explorer

可能原因

使用一个 Action 的派生类而没有实现 perform()方法或 execute() 方法。在 Struts1.0 中实现的是 perform()方法,在 Struts1.1 中实现的是 execute() 方法,但 Struts1.1 向后兼容 perform()方法。但你使用 Struts1.1 创建一个 Action 的派生类,并且实现了 execute() 方法,而你在 Struts1.0 中运行的话,就会得到 "Document contained nodata" error message in Netscape or a completely empty (no HTML whatsoever) page rendered in Microsoft Internet Explorer.”的错误信息。

---------------------------------------------------------------------------------------------------------------------------

异常

ServletException: BeanUtils.populate

解决方案

在用 Struts 上传文件时, 遇到了 javax.servlet.ServletException: BeanUtils.populate 异常。

我的 ActionServlet 并没有用到 BeanUtils 这些工具类。后来仔细检查代码发现是在 jsp 文件里的 form 忘了加 enctype= &quot;multipart/form-data&quot; 了。所以写程序遇到错误或异常应该从多方面考虑问题存在的可能性,想到系统提示信息以外的东西。

----------------------------------------------------------------------------------------------------------------------------

1. 定义 Action 后, 如果指定了 name, 那么必须要定义一个与它同名的 FormBean 才能进行 form 映射.2. 如果定义 Action 后, 提交页面时出现 "No input attribute for mapping path..." 错误, 则需要在其 input 属性中定义转向的页面.3. 如果插入新的数据时出现 "Batch update row count wrong:..." 错误, 则说明 XXX.hbm.xml 中指定的 key 的类型为原始类型 (int, long), 因为这种类型会自动分配值, 而这个值往往会让系统认为已经存在该记录, 正确的方法是使用 java.lang.Integer 或 java.lang.Long 对象.4. 如果插入数据时出现 "argument type mismatch" 错误, 可能是你使用了 Date 等特殊对象, 因为 struts 不能自动从 String 型转换成 Date 型, 所以, 你需要在 Action 中手动把 String 型转换成 Date 型.5. Hibernate 中, Query 的 iterator()比 list()方法快很多.6. 如果出现 "equal symbol expected" 错误, 说明你的 strtus 标签中包含另一个标签或者变量, 例如:

<html:select property="test" onchange="<%=test%>"/>

或者

<html:hidden property="test" value="<bean:write name="t"property="p"/>"/>

这样的情况...

---------------------------------------------------------------------------------------------------------------------------

错误:Exception in thread "main" org.hibernate.exception.SQLGrammarException: Could not execute JDBC batch update 原因与解决: 因为 Hibernate Tools(或者 Eclipse 本身的 Database Explorer)生成 *.hbn.xml 工具中包含有 catalog="***"(* 表示数据库名称)这样的属性, 将该属性删除就可以了

---------------------------------------------------------------------------------------------------------------------------

错误:org.hibernate.ObjectDeletedException: deleted object would be re-saved by cascade (remove deleted object from associations)

原因与解决:

方法 1 删除 Set 方的 cascade

方法 2 解决关联关系后,再删除

方法 3 在 many-to-one 方增加 cascade 但值不能是 none

最后一招:

检查一下 hashCode equals 是否使用了 id 作为唯一标示的选项了;我用 uuid.hex 时是没有问题的;但是用了 native,就不行了,怎么办?删除啊!

----------------------------------------------------------------------------------------------------------------------------

问题:今天用 Tomcat 5.5.12,发现原来很好用的系统不能用了,反复测试发现页面中不能包含 taglib,否则会出现以下提示:HTTP Status 500 -type Exception reportMessage description The server encountered an internal error ()that prevented it from fulfilling this request.exceptionorg.apache.jasper.JasperException: /index.jsp(1,1) Unable to read TLD "META-INF/tlds/struts-bean.tld" from JAR file"file:*****/WEB-INF/lib/struts.jar": 原因:更新了工程用的 lib 文件夹下的 jar,发布时也发布了 servlet.jar 和 jsp-api.jar。解决:把 jsp-api.jar 删除就解决这个问题了。---------------------- -------------------------------------------------------------------------------------------------------

错误:java.lang.NullPointerException

原因: 发现 dao 实例、manage 实例等需要注入的东西没有被注入(俗称空指针异常)解决:这个时候,你应该查看日志文件;默认是应用服务器的 log 文件,比如 Tomcat 就是 [Tomcat 安装目录]/logs ;你会发现提示你:可能是:org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sf' defined in ServletContextresource [/WEB-INF/applicationContext.xml]: Initialization of bean failed; nested exception isorg.hibernate.HibernateException: could not configure from URL: file:src/hibernate.cfg.xmlorg.hibernate.HibernateException: could not configure from URL: file:src/hibernate.cfg.xml……………………….Caused by: java.io.FileNotFoundException: src\hibernate.cfg.xml 可能是:org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined inServletContext resource [/WEB-INF/applicationContext.xml]: Initialization of bean failed; nested exception isorg.hibernate.MappingException: Resource: com/mcc/coupon/model/UserRole.hbm.xml not foundorg.hibernate.MappingException: Resource: com/mcc/coupon/model/UserRole.hbm.xml not found 然后你就知道原因是因为配置文件的解析出了错误,这个通过 Web 页面是看不出来的。更多的是持久化影射文件出的错误;导致了没有被解析;当然你需要的功能就无法使用了。

----------------------------------------------------------------------------------------------------------------------------

错误:StandardWrapperValve[action]: Servlet.service() for servlet action threw exception

javax.servlet.jsp.JspException: Cannot retrieve mapping for action /settlementTypeManage

或者: type Status report message Servlet action is not available description The requested resource (Servlet action is not available) is not available.

原因: 同 上

----------------------------------------------------------------------------------------------------------------------------

错误 StandardWrapperValve[jsp]: Servlet.service() for servlet jsp threw exceptionjava.lang.ClassNotFoundException: org.apache.struts.taglib.bean.CookieTei 界面错误具体描述:

org.apache.jasper.JasperException: Failed to load or instantiate TagExtraInfo class: org.apache.struts.taglib.bean.CookieTei

原因与解决: < 方案一 > 你的“html:”开头的标签没有放在一个 <html:form> 中 < 方案二 > 重新启动你的应用服务器,自动就没有这个问题了

 

----------------------------------------------------------------------------------------------------------------------------

java.lang.IllegalStateException: getOutputStream() has already been called for this respons

原因: 是 web 容器生成的 servlet 代码中有 out.write(""), 这个和 JSP 中 1. 调用的 response.getOutputStream()产生冲突. 即 Servlet 规范说明,不能既调用 response.getOutputStream(),又调用 response.getWriter(), 无论先调用哪一个,在调用第二个时候应会抛出 IllegalStateException,因为在 jsp 中,out 变量实际上是通过 response.getWriter 得到的,你的程序中既用了 response.getOutputStream,又用了 out 变量,故出现以上错误。

 

2. 由于 jsp container 在处理完成请求后会调用 releasePageContet 方法释放所用的 PageContext object, 并且同时调用 getWriter 方法, 由于 getWriter 方法与在 jsp 页面中使用流相关的 getOutputStream 方法冲突, 所以会造成这种异常

解决方案:

// 输出图象到页面

ImageIO.write(image, "JPEG", response.getOutputStream());

增加 2 句话;

out.clear();

// 意义是:清空缓存的内容

out = pageContext.pushBody();

// 返回一个新的 BodyContent( 代表一个 HTML 页面的 BODY 部分内容)

// 保存 JspWriter 实例的对象 out

// 更新 PageContext 的 out 属性的内容

----------------------------------------------------------------------------------------------------------------------------

bad number

原因: 项目的版本和 JDK 的版本不兼容

解决:windows-preferences-server-Integrated Sandbox-Myeclise tomcat 6- 选择和项目版本一致的 JDK

----------------------------------------------------------------------------------------------------------------------------

Connection reset by peer: socket write error 问题的原因

这个问题一般是客户端在连接还没有完全建立的时候就取消连接,比如用户按了浏览器上面的“停止”按钮,一般来说没有什么问题。但是如果频繁出现,就表示很多客户端连接到 Apache 服务器的响应时间太长了,可能是网络的问题或者服务器性能问题

可能你的网络连接存在一些问题,你的数据传输的时候,可能由于时间等待的太久,但是 server 段设置的连接检验时间限制一定,那么就可能出现这种情况的!

不过更常见的原因是:

1:服务器的并发连接数超过了其承载量,服务器会将其中一些连接 Down 掉;

2:客户关掉了浏览器,而服务器还在给客户端发送数据;

3:浏览器端按了 Stop;

4:服务器给客户端响应结果给防火墙拦截了。

 

出处:http://www.cnblogs.com/tk55/p/7576049.html