我在weblogic 10.3控制台日志中不断遇到以下错误
java.lang.IllegalStateException: Response already committed
at weblogic.servlet.internal.ServletResponseImpl.objectIfCommitted(ServletResponseImpl.java:
1462)
at weblogic.servlet.internal.ServletResponseImpl.sendError(ServletResponseImpl.java:601)
at org.apache.struts.action.RequestProcessor.processMapping(RequestProcessor.java:658)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:193)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
被截断了。请参阅日志文件以获取完整的stacktrace
我想知道如果不解决此问题会造成什么伤害?在加入团队之前,我的应用程序中一直存在此错误,这是否足以使它成为“需要立即解决”的资格?
最佳答案
Struts是开源的。只需检查658行之前的RequestProcessor
源(如stacktrace中所述):
// No mapping can be found to process this request
String msg = getInternal().getMessage("processInvalid", path);
log.error(msg);
response.sendError(HttpServletResponse.SC_NOT_FOUND, msg);
请参阅注释:
No mapping can be found to process this request
。这是问题的根本原因。但是显示错误消息的sendError()
调用也无法完成,因为响应已经提交。显然有两件事是失败的:缺少映射,并且Struts映射的默认工作已通过编程方式以不正确的方式接管。关于jsp - java.lang.IllegalStateException : Response already committed造成什么危害,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2012294/