簡體   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