Phiên bản JBoss: 4.2.3GA. Điều này làm việc trong apache tomcat 6.0. Trong JBoss, tôi phải thêm các thiết lập sau đây: -Dorg.apache.catalina.STRICT_SERVLET_COMPLIANCE=false
để có được chuyển tiếp để làm việc, nhưng bây giờ khi tôi tải trang tôi nhận được lỗi dưới đây. Nó cảm thấy như tôi đang làm điều này một cách JBoss không thích, nhưng tôi đã không nhìn thấy bất kỳ ví dụ khác. Có ai biết một cách để có được điều này để làm việc?Cách chuyển tiếp từ dịch vụ JAX-RS sang 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 "";
}
Trường hợp ngoại lệ:
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)
Bạn không sử dụng servlets trực tiếp. Bạn đang sử dụng JAX-WS (dịch vụ web). Tôi đã xóa thẻ và tham chiếu "servlet". Để tìm hiểu một servlet thực sự là gì, hãy kiểm tra trang servlet wiki của chúng tôi http://stackoverflow.com/tags/servlets/info – BalusC
Tôi đang làm MVC với một bộ điều khiển phục hồi và một khung nhìn jsp. Điều này có lẽ trông rất buồn cười trong ví dụ của tôi bởi vì tôi không nên chuyển tiếp các yêu cầu như thế. –