- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个 GuiceConfig:
public class GuiceConfig extends GuiceServletContextListener
...使用 configureServlets() 方法执行以下操作:
params.put(ServletContainer.FEATURE_FILTER_FORWARD_ON_404, "true");
params.put(ServletContainer.JSP_TEMPLATES_BASE_PATH, "/WEB-INF/jsp");
serve("/*").with(GuiceContainer.class, params);
此类使用 @Path("/admin/index") 将请求提供给资源,它只返回一个可查看的 JSP 资源:
return new Viewable( "/admin/index" ) ;
当我运行此源并访问本地 URL localhost:8046/admin/index 时,我成功检索了所需的 JSP 资源。
但是,我不想服务("/*").with(GuiceContainer.class)。这样做会干扰我的服务器上运行的其他模块。我只想处理以/rest 开头的请求。如果我将上面的源码修改为以下内容:
params.put(ServletContainer.FEATURE_FILTER_FORWARD_ON_404, "true");
params.put(ServletContainer.JSP_TEMPLATES_BASE_PATH, "/WEB-INF/jsp");
serve("/rest/*").with(GuiceContainer.class, params);
我现在可以成功访问本地 URL localhost:8046/rest/admin/index.html。然而,虽然该页面成功返回,但 JSP 无法正确显示。控制台日志表明 JSP 资源 new Viewable("/admin/index") 已正确解析...但页面的输出如下:
Error 404 /WEB-INF/jsp/admin/index.jsp
我一直在挖掘,但无法找到解释此问题的答案。任何帮助将不胜感激。
最佳答案
根据 servlet 规范,正常请求无法访问整个 /WEB-INF/
树。
但是,它可以通过各种调度技术在内部引用。
错误 404/WEB-INF/jsp/admin/index.jsp
似乎表明某些东西试图直接引用该路径。
如果您点击 http://localhost/admin/index
或 http://localhost/admin/index.jsp
会发生什么?
关于java - GuiceConfig 和 JSP_TEMPLATES_BASE_PATH,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20624416/
我有一个 GuiceConfig: public class GuiceConfig extends GuiceServletContextListener ...使用 configureServle
我是一名优秀的程序员,十分优秀!