Boa tarde ,
Estou com um problema meio estranho de encoding que acontece apenas no jetty 7.4.5 e nao acontece no tomcat 7.0.29 , estou usando o vraptor 3.4.1 . Abaixo segue as classes
Controller
import br.com.caelum.vraptor.Path;
import br.com.caelum.vraptor.Resource;
import br.com.caelum.vraptor.Result;
import br.gov.sp.defensoria.common.annotation.Public;
@Resource
@Path("encoding")
public class EncodingController {
private Result result;
public EncodingController(Result result) {
this.result = result;
}
@Public
public void tabs(){
this.result.include("term","Organização");
}
@Public
public void search(String term){
}
}
tabs.jsp
<%@include file="../app/taglibs.jsp"%>
<iframe src='<c:url value="/encoding/search?term=${term}"/>'></iframe>
quando tenta chamar o controlador passando term como referencia na view da a exception :
HTTP ERROR 405
Problem accessing /contexto/encoding/search. Reason:
Method Not Allowed
Powered by Jetty://
a url final esta ficando assim : http://contexto/utf/search?term=Organiza��o
esta tudo setado para ISO-8859-1 (projeto eclipse,jsp,compilação de classes,web.xml,inicialização do jetty com -Dfile.encoding)
dependendo do que inputo “Organizaç” por exemplo troca a exception
HTTP ERROR 500
Problem accessing /contexto/encoding/search. Reason:
!utf8
Caused by:
java.lang.IllegalStateException: !utf8
at org.eclipse.jetty.util.Utf8StringBuilder.toString(Utf8StringBuilder.java:70)
at org.eclipse.jetty.util.UrlEncoded.decodeUtf8To(UrlEncoded.java:317)
at org.eclipse.jetty.http.HttpURI.decodeQueryTo(HttpURI.java:632)
at org.eclipse.jetty.server.Request.extractParameters(Request.java:206)
at org.eclipse.jetty.server.Request.getParameter(Request.java:659)
at javax.servlet.ServletRequestWrapper.getParameter(ServletRequestWrapper.java:169)
at br.com.caelum.vraptor.http.VRaptorRequest.getParameter(VRaptorRequest.java:60)
at br.com.caelum.vraptor.resource.HttpMethod.of(HttpMethod.java:47)
at br.com.caelum.vraptor.http.DefaultResourceTranslator.translate(DefaultResourceTranslator.java:55)
at br.com.caelum.vraptor.interceptor.ResourceLookupInterceptor.intercept(ResourceLookupInterceptor.java:66)
at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
at br.com.caelum.vraptor.core.EnhancedRequestExecution.execute(EnhancedRequestExecution.java:44)
at br.com.caelum.vraptor.VRaptor$1.insideRequest(VRaptor.java:91)
at br.com.caelum.vraptor.ioc.guice.GuiceProvider.provideForRequest(GuiceProvider.java:82)
at br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:88)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1323)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:476)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:517)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:225)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:937)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:406)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:183)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:871)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:247)
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:149)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:110)
at org.eclipse.jetty.server.Server.handle(Server.java:346)
at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:589)
at org.eclipse.jetty.server.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:1048)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:601)
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:214)
at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:411)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:535)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:40)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:529)
at java.lang.Thread.run(Thread.java:662)
Não sei porque ele insiste em tentar receber UTF-8 , alguma luz ?