JBoss 버전 : 4.2.3GA. 이것은 아파치 바람둥이 6.0에서 작동합니다. JBoss에서 나는 다음 설정을 추가해야했습니다 : -Dorg.apache.catalina.STRICT_SERVLET_COMPLIANCE=false
앞으로 작업을 얻으려면,하지만 지금은 페이지를로드 할 때 아래 오류가 발생합니다. JBoss가 좋아하지 않는 방식으로이 작업을 수행하고있는 것처럼 느껴지지만 다른 예제는 보지 못했습니다. 누구든지 이것이 작동하도록하는 방법을 알고 있습니까?JAX-RS 서비스에서 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 "";
}
예외 :
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)
당신은 직접 서블릿을 사용하지 않는 여기에 내가 함께 결국 무엇을 요약 한 것입니다. JAX-WS (webservices)를 사용 중입니다. "서블릿"참조 및 태그를 제거했습니다. 실제 서블릿이 실제로 무엇인지 배우려면 서블릿 wiki 페이지를 확인하십시오. – BalusC
restlet 컨트롤러와 jsp 뷰로 MVC를하고 있습니다. 내가 요청한 것을 포기하지 말았어야했기 때문에 이것은 내 예에서 재미있을 것 같았다. –