繁体   English   中英

从tomcat6升级到tomcat7出现错误AbstractMethod错误

[英]Upgrading from tomcat6 to tomcat7 giving errors AbstractMethod Error

我已经将Web应用程序的tomcat版本从tomcat6升级到了tomcat7。 单击按钮后,页面上将引发AbstractMethod Error。

这是快照:

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文件

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM