MinELenI / CBSviewer

Webrichtlijnen compliant webmap viewer
http://mineleni.github.io/CBSviewer/
BSD 2-Clause "Simplified" License
0 stars 6 forks source link

menu output gaat over 65Kb heen #85

Closed mprins closed 11 years ago

mprins commented 11 years ago

ik heb t nog nooit gezien, maar kennelijk heeft Tomcat een beperking in dit opzicht...

Unable to compile class for JSP: 

An error occurred at line: 51 in the generated java file
The code of method _jspService(HttpServletRequest, HttpServletResponse) is exceeding the 65535 bytes limit

het gaat ergens in menu_include.jsp mis

onderwater view (view-source:http://gisdemo.agro.nl/cbsviewer/) zegt oa.:

Stacktrace: at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92) at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330) at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:439) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:356) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:334) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:321) at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:592) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646) at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:551) at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:488) at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:968) at org.apache.jsp.WEB_002dINF.jsp.main_005fmenu_005finclude_jsp._jspService(main_005fmenu_005finclude_jsp.java:79) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:385) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

mprins commented 11 years ago

't is een java beperking, een methode mag "maar" 64Kb zijn voor de compiler. Oplossing ligt waarschijnlijk in het opknippen van het menu in meerdere includes denk ik..

mogelijk (deels) te verhelpen door "mappedfile" optie op false te zetten

mprins commented 11 years ago

ondanks configuratie aanpassingen van de server blijft het probleem bestaan... http://gisdemo.agro.nl/cbsviewer/adres?adres=&searchbutton=&coreonly=true&forward=true in de RIA wordt de fout pagina niet gerenderd, maar kun je m wel onderwater zien.

mprins commented 11 years ago

@pmanders hij lijkt t nu goed te doen

pmanders commented 11 years ago

Inderdaad. Limiet van Tomcat, werd ook vrij groot allemaal. Heb het nu onderverdeeld en menu2 wordt pas geladen als je er op klikt. Later eventueel ook nog de Javascript variabele _layers inladen afhankelijk van wat er aan menuonderdelen is ingeladen.

mprins commented 11 years ago

nee de limiet zit in de Java Language Specification, maar met tomcat, die in development modus draait, treedt het eerder op omdat voor iedere html/xml element/entiteit in de jsp een out.write(...) wordt gegenereerd, dat resulteerde in een .java van bijna 400KB met een service() methode van >65K