Ok

I think I identified the issue but it is weird as well: seems I had
(thanks maven for it) tomcat 8.0.18 + tomcat-el-api in version 8.0.12.
So the bug was in the 8.0.12 actually. What is weird is it appeared
only when upgrading to 8.0.18 other artifacts.


Romain Manni-Bucau
@rmannibucau
http://www.tomitribe.com
http://rmannibucau.wordpress.com
https://github.com/rmannibucau


2015-01-27 13:52 GMT+01:00 Konstantin Kolinko <knst.koli...@gmail.com>:
> 2015-01-27 15:18 GMT+03:00 Konstantin Kolinko <knst.koli...@gmail.com>:
>> 2015-01-26 21:17 GMT+03:00 Romain Manni-Bucau <rmannibu...@gmail.com>:
>>> Hi guys,
>>>
>>> since I upgraded to 8.0.18 I get:
>>>
>>> SEVERE: Servlet.service() for servlet [jsp] in context with path
>>> [/test] threw exception [javax.el.ELException: The class
>>> [java.util.Iterator] must be public, non-abstract and not an
>>> interface] with root cause
>>> javax.el.ELException: The class [java.util.Iterator] must be public,
>>> non-abstract and not an interface
>>> at javax.el.ImportHandler.findClass(ImportHandler.java:171)
>>> at javax.el.ImportHandler.importClass(ImportHandler.java:111)
>>
>> 1. Your stacktrace (the above lines) does not match the source code of
>> current Tomcat 8.0.x and thus of 8.0.18.
>>
>>> at 
>>> org.apache.jasper.runtime.PageContextImpl.getELContext(PageContextImpl.java:954)
>>> at org.apache.jsp.setup_jsp._jspx_meth_c_005fset_005f0(setup_jsp.java:261)
>>> at org.apache.jsp.setup_jsp._jspService(setup_jsp.java:136)
>>> at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
>>> at 
>>> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:431)
>>> at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
>>> at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
>>>
>
> To clarify:
> In the current Tomcat 8  calling ImportHandler.importClass() does not
> perform any validation
> (except a satiny check that the name contains a '.').
>
> That was thanks to early testing, as well as based on performance
> concerns. It has been discussed in
> https://issues.apache.org/bugzilla/show_bug.cgi?id=57142#c11
>
> The check is performed when the class is resolved in
> ImportHandler.resolveClass() and
> only if you explicitly call that class name.
>
> I think that an unexpected collision between imported class names and
> EL expressions is unlikely.
>
> Best regards,
> Konstantin Kolinko
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: dev-h...@tomcat.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to