从 tomcat6 升级到 tomcat7 出现错误 AbstractMethod Error
Upgrading from tomcat6 to tomcat7 giving errors AbstractMethod Error
我已将我的 Web 应用程序的 tomcat 版本从 tomcat6 升级到 tomcat7。单击按钮时,页面上会抛出 AbstractMethod 错误。
这是快照:
javax.servlet.ServletException: java.lang.AbstractMethodError
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:916)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:845)
com.web.console.jsp.editCDTemplate_jsp._jspService(editCDTemplate_jsp.java:203)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1056)
org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:261)
org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:388)
org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:316)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:231)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:397)
javax.servlet.http.HttpServlet.service(HttpServlet.java:620)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
com.web.console.CharsetFilter.doFilter(CharsetFilter.java:16)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
root cause
java.lang.AbstractMethodError
javax.servlet.ServletRequestWrapper.isAsyncStarted(ServletRequestWrapper.java:396)
com.web.console.jsp.editCDTemplate_jsp._jspService(editCDTemplate_jsp.java:166)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1056)
org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:261)
org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:388)
org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:316)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:231)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:397)
javax.servlet.http.HttpServlet.service(HttpServlet.java:620)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
com.web.console.CharsetFilter.doFilter(CharsetFilter.java:16)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
点击按钮时出现上述错误。只有一个按钮产生此错误。
编辑
在按下按钮时,应显示以下 jsp 但它会抛出上述异常。
代码片段
<console:page url="emptyPage.jsp"
title="com.web.template">
<console:menu>
</console:menu>
<console:header>
<%if ( request.getParameter("mode").equals("edit") ) {%>
<bean:message key="com.web.editTemplate"/>
<%} else { %>
<bean:message key="com.web.create"/>
<%}%>
</console:header>
<console:pageBody>
<tr><td><table width="100%"><tr><td>
<%
ServletContext pwgContext = getServletContext().getContext("/pwg");
ivr_005fcallflow_005fframe_jsp.storeAdminSessionIdInContext(pwgContext, session.getId());
WebConsoleSession webConsoleSession = (WebConsoleSession)session.getAttribute(LoginAction.WEB_CONSOLE_SESSION_KEY);
if ( webConsoleSession != null )
ivr_005fcallflow_005fframe_jsp.storeFPSAAdminSessionIdInContext( pwgContext, webConsoleSession.getSessionId() );
RequestDispatcher dispatcher = pwgContext.getRequestDispatcher("/callflow");
InvokeServletTag.FakeRequest subRequest = new InvokeServletTag.FakeRequest(request);
if (request.getParameter("template") != null) {
subRequest.setParameter("callFlowNumber", request.getParameter("template"));
}
InvokeServletTag.FakeResponse subResponse = new InvokeServletTag.FakeResponse();
dispatcher.include(subRequest, subResponse);
subResponse.flushTo(out);
%>
</td></tr></table></td></tr>
<html:errors/>
</console:pageBody>
</console:page>
谁能帮我解决这个问题。
从构建路径中删除 servlet-api, servlet, jsp-api and jasper
个 jars,您会看到一些编译问题,但容器会处理这些问题。或者,您可以编辑它们并指向新的 jar 文件
我已将我的 Web 应用程序的 tomcat 版本从 tomcat6 升级到 tomcat7。单击按钮时,页面上会抛出 AbstractMethod 错误。
这是快照:
javax.servlet.ServletException: java.lang.AbstractMethodError
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:916)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:845)
com.web.console.jsp.editCDTemplate_jsp._jspService(editCDTemplate_jsp.java:203)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1056)
org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:261)
org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:388)
org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:316)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:231)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:397)
javax.servlet.http.HttpServlet.service(HttpServlet.java:620)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
com.web.console.CharsetFilter.doFilter(CharsetFilter.java:16)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
root cause
java.lang.AbstractMethodError
javax.servlet.ServletRequestWrapper.isAsyncStarted(ServletRequestWrapper.java:396)
com.web.console.jsp.editCDTemplate_jsp._jspService(editCDTemplate_jsp.java:166)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1056)
org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:261)
org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:388)
org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:316)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:231)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:397)
javax.servlet.http.HttpServlet.service(HttpServlet.java:620)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
com.web.console.CharsetFilter.doFilter(CharsetFilter.java:16)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
点击按钮时出现上述错误。只有一个按钮产生此错误。
编辑 在按下按钮时,应显示以下 jsp 但它会抛出上述异常。 代码片段
<console:page url="emptyPage.jsp"
title="com.web.template">
<console:menu>
</console:menu>
<console:header>
<%if ( request.getParameter("mode").equals("edit") ) {%>
<bean:message key="com.web.editTemplate"/>
<%} else { %>
<bean:message key="com.web.create"/>
<%}%>
</console:header>
<console:pageBody>
<tr><td><table width="100%"><tr><td>
<%
ServletContext pwgContext = getServletContext().getContext("/pwg");
ivr_005fcallflow_005fframe_jsp.storeAdminSessionIdInContext(pwgContext, session.getId());
WebConsoleSession webConsoleSession = (WebConsoleSession)session.getAttribute(LoginAction.WEB_CONSOLE_SESSION_KEY);
if ( webConsoleSession != null )
ivr_005fcallflow_005fframe_jsp.storeFPSAAdminSessionIdInContext( pwgContext, webConsoleSession.getSessionId() );
RequestDispatcher dispatcher = pwgContext.getRequestDispatcher("/callflow");
InvokeServletTag.FakeRequest subRequest = new InvokeServletTag.FakeRequest(request);
if (request.getParameter("template") != null) {
subRequest.setParameter("callFlowNumber", request.getParameter("template"));
}
InvokeServletTag.FakeResponse subResponse = new InvokeServletTag.FakeResponse();
dispatcher.include(subRequest, subResponse);
subResponse.flushTo(out);
%>
</td></tr></table></td></tr>
<html:errors/>
</console:pageBody>
</console:page>
谁能帮我解决这个问题。
从构建路径中删除 servlet-api, servlet, jsp-api and jasper
个 jars,您会看到一些编译问题,但容器会处理这些问题。或者,您可以编辑它们并指向新的 jar 文件