Java 如何使用Guice 3.0为JSP提供服务?
我正在尝试从Guice提供JSP。我找不到任何关于如何做到这一点的基本例子 我的设置: web.xmlJava 如何使用Guice 3.0为JSP提供服务?,java,jsp,guice,guice-servlet,Java,Jsp,Guice,Guice Servlet,我正在尝试从Guice提供JSP。我找不到任何关于如何做到这一点的基本例子 我的设置: web.xml <filter> <filter-name>guiceFilter</filter-name> <filter-class>com.google.inject.servlet.GuiceFilter</filter-class> </filter> <filter-mapping> &l
<filter>
<filter-name>guiceFilter</filter-name>
<filter-class>com.google.inject.servlet.GuiceFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>guiceFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<listener>
<listener-class>org.example.Bootstrap</listener-class>
</listener>
org.example.BootstrapModule(类似于…)
在MainServlet中,我执行以下操作:
request.getRequestDispatcher("test.jsp").include(request, response);
或
或
或
我的test.jsp位于webapp/test.jsp
(我使用Maven)
它不起作用!我总是会犯这样的错误:
SEVERE: PWC6117: File XXX not found
Guice传递给org.apache.jasper.servlet.JspServlet的信息似乎不是JSP工作所需的信息
我错过了什么?我甚至必须手动指定org.apache.jasper.servlet.JspServlet吗?从Guice正确服务JSP需要什么?您需要覆盖
引导#getModule()
以返回新的引导模块()
您需要重写
Bootstrap#getModule()
以返回新的BootstrapModule()
看来这是一个好主意
作为一种解决方法,有人说可以编译Guice的主干。我还发现了这个设置
request.setAttribute(org.apache.jasper.Constants.JSP_FILE, "/test.jsp");
之前的转发也工作
但是我必须运行更多的测试来查看我将使用什么,直到Guice在公共版本中得到修复。这似乎是一个很好的解决方案
作为一种解决方法,有人说可以编译Guice的主干。我还发现了这个设置
request.setAttribute(org.apache.jasper.Constants.JSP_FILE, "/test.jsp");
之前的转发也工作
但是我必须运行更多的测试来查看我将使用什么,直到Guice在公共版本中得到修复
request.getRequestDispatcher("/test.jsp").include(request, response);
request.getRequestDispatcher("/test.jsp").forward(request, response);
SEVERE: PWC6117: File XXX not found
@Override
protected Module getModule() {
return new BootstrapModule();
}
request.setAttribute(org.apache.jasper.Constants.JSP_FILE, "/test.jsp");