GuiceからJSPを提供しようとしています。これを行う方法の基本的な例は見つかりません!
私のセットアップ:
web.xml
<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.Bootstrap(...のようなもの)
public class Bootstrap extends GuiceServletContextListener
{
@Override
protected Injector getInjector()
{
return Guice.createInjector(new org.example.BootstrapModule());
}
}
org.example.BootstrapModule(...のようなもの)
public class BootstrapModule extends ServletModule
{
@Override
protected void configureServlets()
{
// serve .JSPs
bind(org.apache.jasper.servlet.JspServlet.class).in(Scopes.SINGLETON);
serveRegex("/.*\\.jsp").with(org.apache.jasper.servlet.JspServlet.class);
// serve my controllers
bind(MainServlet.class).in(Scopes.SINGLETON);
serveRegex("/.*").with(MainServlet.class);
}
}
MainServletで、私は次のようなことをします:
request.getRequestDispatcher("test.jsp").include(request, response);
また
request.getRequestDispatcher("test.jsp").forward(request, response);
また
request.getRequestDispatcher("/test.jsp").include(request, response);
また
request.getRequestDispatcher("/test.jsp").forward(request, response);
test.jspがあります(Mavenを使用してwebapp/test.jsp
います)。
動作しません!私はいつも次のようなエラーで終わります:
SEVERE: PWC6117: File XXX not found
Guiceがorg.apache.jasper.servlet.JspServletに渡す情報は、JSPが機能するために必要な情報ではないようです。
私は何が欠けていますか?org.apache.jasper.servlet.JspServletを手動で指定する必要もありますか?GuiceからJSPを正しく提供するには何が必要ですか?