Versión de JBoss: 4.2.3GA. Esto funciona en apache tomcat 6.0. En JBoss, tuve que agregar la siguiente configuración: -Dorg.apache.catalina.STRICT_SERVLET_COMPLIANCE=false
para hacer que el reenvío funcione, pero ahora cuando cargo la página aparece el siguiente error. Siento que estoy haciendo esto de una manera que a JBoss no le gusta, pero no he visto ningún otro ejemplo. ¿Alguien sabe una forma de hacer que esto funcione?¿Cómo reenviar de un servicio JAX-RS a JSP?
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
...
@GET
@Path("/forward")
public String forward(
@Context final HttpServletRequest request,
@Context final HttpServletResponse response) throws Exception
{
RequestDispatcher dispatcher = request.getRequestDispatcher("/index.html");
dispatcher.forward(request, response);
return "";
}
La excepción:
java.lang.ClassCastException: $Proxy114 cannot be cast to javax.servlet.ServletRequestWrapper
com.itt.scout.server.servlet.admin.config.ConfigController.forward(ConfigController.java:46)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$VoidOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:151)
com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:70)
com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:279)
com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:136)
com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:86)
com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:136)
com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:74)
com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1357)
com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1289)
com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1239)
com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1229)
com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:420)
com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:497)
com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:684)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
No está utilizando directamente los servlets. Está utilizando JAX-WS (servicios web). Eliminé la referencia y la etiqueta "servlet". Para saber qué es realmente un servlet real, consulte nuestra página wiki de servlets http://stackoverflow.com/tags/servlets/info – BalusC
Estoy haciendo MVC con un controlador de restlet y una vista jsp. Esto probablemente se veía raro en mi ejemplo porque no debería haber enviado las solicitudes de esa manera. –