java常见的异常大集合(六)

2014-11-24 01:42:31 · 作者: · 浏览: 4
-------------------------------------------------------------------------------------------------------------------

错误: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:”开头的标签没有放在一个中 <方案二>重新启动你的应用服务器,自动就没有这个问题了

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

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:服务器给客户端响应结果给防火墙拦截了。