从tomcat 8.0迁移到8.5时出现ElException

时间:2018-02-22 13:23:57

标签: java jsp tomcat tomcat8.5

我们目前正在将我们的应用程序从tomcat 8.0迁移到tomcat 8.5。

在这些应用程序中,我们有一个非常简单的Spring JEE应用程序,它使用JSP和弹簧控制器。

在Tomcat 8.0上部署时,jsp页面正确提供,而在tomcat 8.5上产生错误:

javax.el.ELException: The class [com.orange.gvw.acd.controllers.ApiConnectionController] could not be imported as it could not be found
javax.el.ImportHandler.importClass(ImportHandler.java:114)
org.apache.jasper.runtime.PageContextImpl.getELContext(PageContextImpl.java:962)
org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:935)
org.apache.jsp.WEB_002dINF.views.manageConnections_jsp._jspService(manageConnections_jsp.java:192)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:443)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329)
javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:168)
org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:303)
org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1243)
org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1027)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:971)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:965)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:856)
javax.servlet.http.HttpServlet.service(HttpServlet.java:618)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:841)
javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

我们发现当我们的jsp页面包含el时发生此问题,例如$ {} TOTO。当我们删除这个el时,它可以工作。

是否需要修复或配置某些内容才能提供包含el?

的jsp

1 个答案:

答案 0 :(得分:0)

回答自己,问题出在平台方面:我们安装了libservlet3.1-java版本8.0.14-1 + deb8u11,而tomcat需要版本8.5.14-1~bpo8 + 1 8.5。