java - Webapp with embedded jetty giving exception -
i trying maintain java web app run standalone using embedded jetty, using java 7 , jetty 9.1.3. runs except of links in 1 of jsp pages. each link on page supposed fetch png file or text file , display below link. when run through netbeans, each link hangs when clicked , console gives following errors:
apr 10, 2014 4:23:34 pm org.apache.struts.chain.commands.abstractexceptionhandler execute warning: unhandled exception java.lang.illegalstateexception: form many keys @ org.eclipse.jetty.util.urlencoded.decodeutf8to(urlencoded.java:526) @ org.eclipse.jetty.util.urlencoded.decodeto(urlencoded.java:625) @ org.eclipse.jetty.server.request.extractparameters(request.java:344) @ org.eclipse.jetty.server.request.getparameternames(request.java:852) @ org.apache.struts.util.requestutils.populate(requestutils.java:426) @ org.apache.struts.chain.commands.servlet.populateactionform.populate(populateactionform.java:50) @ org.apache.struts.chain.commands.abstractpopulateactionform.execute(abstractpopulateactionform.java:60) @ org.apache.struts.chain.commands.actioncommandbase.execute(actioncommandbase.java:51) @ org.apache.commons.chain.impl.chainbase.execute(chainbase.java:190) @ org.apache.commons.chain.generic.lookupcommand.execute(lookupcommand.java:304) @ org.apache.commons.chain.impl.chainbase.execute(chainbase.java:190) @ org.apache.struts.chain.composablerequestprocessor.process(composablerequestprocessor.java:283) @ org.apache.struts.action.actionservlet.process(actionservlet.java:1913) @ org.apache.struts.action.actionservlet.dopost(actionservlet.java:462) @ javax.servlet.http.httpservlet.service(httpservlet.java:707) @ javax.servlet.http.httpservlet.service(httpservlet.java:790) @ org.eclipse.jetty.servlet.servletholder.handle(servletholder.java:711) @ org.eclipse.jetty.servlet.servlethandler.dohandle(servlethandler.java:552) @ org.eclipse.jetty.server.handler.scopedhandler.handle(scopedhandler.java:143) @ org.eclipse.jetty.security.securityhandler.handle(securityhandler.java:568) @ org.eclipse.jetty.server.session.sessionhandler.dohandle(sessionhandler.java:221) @ org.eclipse.jetty.server.handler.contexthandler.dohandle(contexthandler.java:1112) @ org.eclipse.jetty.servlet.servlethandler.doscope(servlethandler.java:479) @ org.eclipse.jetty.server.session.sessionhandler.doscope(sessionhandler.java:183) @ org.eclipse.jetty.server.handler.contexthandler.doscope(contexthandler.java:1046) @ org.eclipse.jetty.server.handler.scopedhandler.handle(scopedhandler.java:141) @ org.eclipse.jetty.server.handler.handlerlist.handle(handlerlist.java:52) @ org.eclipse.jetty.server.handler.handlerwrapper.handle(handlerwrapper.java:97) @ org.eclipse.jetty.server.server.handle(server.java:462) @ org.eclipse.jetty.server.httpchannel.handle(httpchannel.java:281) @ org.eclipse.jetty.server.httpconnection.onfillable(httpconnection.java:232) @ org.eclipse.jetty.io.abstractconnection$1.run(abstractconnection.java:505) @ org.eclipse.jetty.util.thread.queuedthreadpool.runjob(queuedthreadpool.java:607) @ org.eclipse.jetty.util.thread.queuedthreadpool$3.run(queuedthreadpool.java:536) @ java.lang.thread.run(thread.java:744) apr 10, 2014 4:23:34 pm org.apache.struts.chain.commands.exceptioncatcher postprocess warning: exception exceptioncommand 'servlet-exception' java.lang.illegalstateexception: form many keys @ org.eclipse.jetty.util.urlencoded.decodeutf8to(urlencoded.java:526) @ org.eclipse.jetty.util.urlencoded.decodeto(urlencoded.java:625) @ org.eclipse.jetty.server.request.extractparameters(request.java:344) @ org.eclipse.jetty.server.request.getparameternames(request.java:852) @ org.apache.struts.util.requestutils.populate(requestutils.java:426) @ org.apache.struts.chain.commands.servlet.populateactionform.populate(populateactionform.java:50) @ org.apache.struts.chain.commands.abstractpopulateactionform.execute(abstractpopulateactionform.java:60) @ org.apache.struts.chain.commands.actioncommandbase.execute(actioncommandbase.java:51) @ org.apache.commons.chain.impl.chainbase.execute(chainbase.java:190) @ org.apache.commons.chain.generic.lookupcommand.execute(lookupcommand.java:304) @ org.apache.commons.chain.impl.chainbase.execute(chainbase.java:190) @ org.apache.struts.chain.composablerequestprocessor.process(composablerequestprocessor.java:283) @ org.apache.struts.action.actionservlet.process(actionservlet.java:1913) @ org.apache.struts.action.actionservlet.dopost(actionservlet.java:462) @ javax.servlet.http.httpservlet.service(httpservlet.java:707) @ javax.servlet.http.httpservlet.service(httpservlet.java:790) @ org.eclipse.jetty.servlet.servletholder.handle(servletholder.java:711) @ org.eclipse.jetty.servlet.servlethandler.dohandle(servlethandler.java:552) @ org.eclipse.jetty.server.handler.scopedhandler.handle(scopedhandler.java:143) @ org.eclipse.jetty.security.securityhandler.handle(securityhandler.java:568) @ org.eclipse.jetty.server.session.sessionhandler.dohandle(sessionhandler.java:221) @ org.eclipse.jetty.server.handler.contexthandler.dohandle(contexthandler.java:1112) @ org.eclipse.jetty.servlet.servlethandler.doscope(servlethandler.java:479) @ org.eclipse.jetty.server.session.sessionhandler.doscope(sessionhandler.java:183) @ org.eclipse.jetty.server.handler.contexthandler.doscope(contexthandler.java:1046) @ org.eclipse.jetty.server.handler.scopedhandler.handle(scopedhandler.java:141) @ org.eclipse.jetty.server.handler.handlerlist.handle(handlerlist.java:52) @ org.eclipse.jetty.server.handler.handlerwrapper.handle(handlerwrapper.java:97) @ org.eclipse.jetty.server.server.handle(server.java:462) @ org.eclipse.jetty.server.httpchannel.handle(httpchannel.java:281) @ org.eclipse.jetty.server.httpconnection.onfillable(httpconnection.java:232) @ org.eclipse.jetty.io.abstractconnection$1.run(abstractconnection.java:505) @ org.eclipse.jetty.util.thread.queuedthreadpool.runjob(queuedthreadpool.java:607) @ org.eclipse.jetty.util.thread.queuedthreadpool$3.run(queuedthreadpool.java:536) @ java.lang.thread.run(thread.java:744) 2014-04-10 16:23:34.438:warn:oejs.servlethandler:qtp2008751570-30: javax.servlet.servletexception: java.lang.illegalstateexception: form many keys @ org.apache.struts.chain.composablerequestprocessor.process(composablerequestprocessor.java:286) @ org.apache.struts.action.actionservlet.process(actionservlet.java:1913) @ org.apache.struts.action.actionservlet.dopost(actionservlet.java:462) @ javax.servlet.http.httpservlet.service(httpservlet.java:707) @ javax.servlet.http.httpservlet.service(httpservlet.java:790) @ org.eclipse.jetty.servlet.servletholder.handle(servletholder.java:711) @ org.eclipse.jetty.servlet.servlethandler.dohandle(servlethandler.java:552) @ org.eclipse.jetty.server.handler.scopedhandler.handle(scopedhandler.java:143) @ org.eclipse.jetty.security.securityhandler.handle(securityhandler.java:568) @ org.eclipse.jetty.server.session.sessionhandler.dohandle(sessionhandler.java:221) @ org.eclipse.jetty.server.handler.contexthandler.dohandle(contexthandler.java:1112) @ org.eclipse.jetty.servlet.servlethandler.doscope(servlethandler.java:479) @ org.eclipse.jetty.server.session.sessionhandler.doscope(sessionhandler.java:183) @ org.eclipse.jetty.server.handler.contexthandler.doscope(contexthandler.java:1046) @ org.eclipse.jetty.server.handler.scopedhandler.handle(scopedhandler.java:141) @ org.eclipse.jetty.server.handler.handlerlist.handle(handlerlist.java:52) @ org.eclipse.jetty.server.handler.handlerwrapper.handle(handlerwrapper.java:97) @ org.eclipse.jetty.server.server.handle(server.java:462) @ org.eclipse.jetty.server.httpchannel.handle(httpchannel.java:281) @ org.eclipse.jetty.server.httpconnection.onfillable(httpconnection.java:232) @ org.eclipse.jetty.io.abstractconnection$1.run(abstractconnection.java:505) @ org.eclipse.jetty.util.thread.queuedthreadpool.runjob(queuedthreadpool.java:607) @ org.eclipse.jetty.util.thread.queuedthreadpool$3.run(queuedthreadpool.java:536) @ java.lang.thread.run(thread.java:744) caused by: java.lang.illegalstateexception: form many keys @ org.eclipse.jetty.util.urlencoded.decodeutf8to(urlencoded.java:526) @ org.eclipse.jetty.util.urlencoded.decodeto(urlencoded.java:625) @ org.eclipse.jetty.server.request.extractparameters(request.java:344) @ org.eclipse.jetty.server.request.getparameternames(request.java:852) @ org.apache.struts.util.requestutils.populate(requestutils.java:426) @ org.apache.struts.chain.commands.servlet.populateactionform.populate(populateactionform.java:50) @ org.apache.struts.chain.commands.abstractpopulateactionform.execute(abstractpopulateactionform.java:60) @ org.apache.struts.chain.commands.actioncommandbase.execute(actioncommandbase.java:51) @ org.apache.commons.chain.impl.chainbase.execute(chainbase.java:190) @ org.apache.commons.chain.generic.lookupcommand.execute(lookupcommand.java:304) @ org.apache.commons.chain.impl.chainbase.execute(chainbase.java:190) @ org.apache.struts.chain.composablerequestprocessor.process(composablerequestprocessor.java:283) @ org.apache.struts.action.actionservlet.process(actionservlet.java:1913) @ org.apache.struts.action.actionservlet.dopost(actionservlet.java:462) @ javax.servlet.http.httpservlet.service(httpservlet.java:707) @ javax.servlet.http.httpservlet.service(httpservlet.java:790) @ org.eclipse.jetty.servlet.servletholder.handle(servletholder.java:711) @ org.eclipse.jetty.servlet.servlethandler.dohandle(servlethandler.java:552) @ org.eclipse.jetty.server.handler.scopedhandler.handle(scopedhandler.java:143) @ org.eclipse.jetty.security.securityhandler.handle(securityhandler.java:568) @ org.eclipse.jetty.server.session.sessionhandler.dohandle(sessionhandler.java:221) @ org.eclipse.jetty.server.handler.contexthandler.dohandle(contexthandler.java:1112) @ org.eclipse.jetty.servlet.servlethandler.doscope(servlethandler.java:479) @ org.eclipse.jetty.server.session.sessionhandler.doscope(sessionhandler.java:183) @ org.eclipse.jetty.server.handler.contexthandler.doscope(contexthandler.java:1046) @ org.eclipse.jetty.server.handler.scopedhandler.handle(scopedhandler.java:141) @ org.eclipse.jetty.server.handler.handlerlist.handle(handlerlist.java:52) @ org.eclipse.jetty.server.handler.handlerwrapper.handle(handlerwrapper.java:97) @ org.eclipse.jetty.server.server.handle(server.java:462) @ org.eclipse.jetty.server.httpchannel.handle(httpchannel.java:281) @ org.eclipse.jetty.server.httpconnection.onfillable(httpconnection.java:232) @ org.eclipse.jetty.io.abstractconnection$1.run(abstractconnection.java:505) @ org.eclipse.jetty.util.thread.queuedthreadpool.runjob(queuedthreadpool.java:607) @ org.eclipse.jetty.util.thread.queuedthreadpool$3.run(queuedthreadpool.java:536) @ java.lang.thread.run(thread.java:744)
i did research , found (or always) related form being large default jetty parameters. fix suggested override defaults creating xml file called jetty-web.xml , placing in web/web-inf folder. here newly created jetty-web.xml:
<?xml version="1.0" encoding="utf-8"?> <!doctype configure public "-//eclipse//dtd configure//en" "http://jetty.eclipse.org/configure.dtd"> <configure id="webappcontext" class="org.eclipse.jetty.webapp.webappcontext"> <set name="maxformcontentsize">600000</set> <set name="maxformkeys">20000</set> </configure>
i rebuilt web app file in place , did not fix problem. have tried using larger numbers seems have no effect. i'm not familiar enough jetty, or underlying way embedded jetty interacts java, know try next.
i happy post code offending jsp page or supporting java code handles requests, thought perhaps console errors enough now. help.
try
-dorg.eclipse.jetty.server.request.maxformkeys=2000
in jvm arguments
Comments
Post a Comment