【问题标题】:Preventing access to a jspx page from browser防止从浏览器访问 jspx 页面
【发布时间】:2011-09-02 08:06:02
【问题描述】:

我在 WEB-INF 下创建了一个 test.jspx 文件,我试图通过请求调度程序通过 servlet 访问它,但我得到了java.lang.RuntimeException: Cannot find FacesContext

web.xml的映射如下:

 <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>/faces/*</url-pattern>
  </servlet-mapping>

如果我使用.jsp,它可以正常工作。

我的请求调度代码如下:

RequestDispatcher dispatcher=getServletContext().getRequestDispatcher("/WEB-INF/test.jspx?sessid="+id);
dispatcher.forward( request, response );

【问题讨论】:

    标签: jsf web.xml oracle-adf


    【解决方案1】:

    请求 URL(您在浏览器地址栏中看到)或转发 URL(您在 RequestDispatcher#forward() 中使用)必须FacesServlet 的 URL 模式匹配才能获取它运行和处理 JSF 页面中的所有 JSF 组件。

    您已将FacesServlet 映射到/faces/* 的URL 模式上,并且您正尝试从一些自制的servlet 调用它(为什么?),因此转发URL 必须与该URL 模式匹配。将页面放在/WEB-INF 之外,然后转发到/faces/test.jspx

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-21
      • 2012-06-19
      • 2012-06-01
      • 2019-08-03
      • 2015-05-21
      • 1970-01-01
      相关资源
      最近更新 更多