標準のJSFページとバッキングBeanを備えたJSFWebアプリがあります。アノテーションのパラメーター
を使用して、ルート以外のパスからアプリページを提供しようとしています。元:urlPatterns
@WebServlet
http://localhost/<appName>/<myPath>/index.xhtml
ここで、myPath = / webは、以下のコードに示されています。
これはうまくいかないようです。アプリケーションは、以下に対して行われた要求にのみ応答します。
http://localhost/<appName>/index.xhtml
アプリケーションはTomcat7.0にデプロイされています。そして、次のJSF依存関係:
<dependency>
<groupId>com.sun.faces</groupId>
<artifactId>jsf-impl</artifactId>
<version>2.1.16</version>
</dependency>
<dependency>
<groupId>com.sun.faces</groupId>
<artifactId>jsf-api</artifactId>
<version>2.1.16</version>
</dependency>
何か案は?
import javax.faces.webapp.FacesServlet;
@WebServlet(urlPatterns = "/web",
initParams = { @WebInitParam(name = "javax.faces.PROJECT_STAGE",
value = "Development") })
public class AppServlet implements Servlet {
FacesServlet servlet = new FacesServlet();
@Override
public void destroy() {
servlet.destroy();
}
@Override
public ServletConfig getServletConfig() {
return servlet.getServletConfig();
}
@Override
public String getServletInfo() {
return servlet.getServletInfo();
}
@Override
public void init(ServletConfig servletConfig) throws ServletException {
servlet.init(servletConfig);
}
@Override
public void service(ServletRequest req, ServletResponse resp)
throws ServletException, IOException {
servlet.service(req, resp);
}
}