gpt4 book ai didi

java - RequestDispatcher.forward() 到 "/WEB-INF"下的资源在 WebSphere 中不起作用

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:47:27 25 4
gpt4 key购买 nike

在我的一个 servlet 中,我调用 RequestDispatcher.forward() 调用 WEB-INF 文件夹下某处的静态资源:

request
.getRequestDispatcher( "/WEB-INF/some/path/image.gif" )
.forward( request, response );

导航到此 servlet 在 Tomcat、Jetty 等下工作正常,但在 WebSphere 7 中不起作用。我得到的错误(在浏览器和服务器日志中)是

Error 403: SRVE0190E: File not found: /WEB-INF/some/path/image.gif

最初我假设 WebSphere 可能需要一些特定的配置以允许内部转发到 WEB-INF 下的资源,但我没有用谷歌搜索任何有用的东西。

知道为什么会发生这种情况吗?

提前致谢!

最佳答案

似乎应该将 exposeWebInfOnDispatch 属性设置为 true 以使 WebSphere 中的 servlet 可以访问 WEB-INF。我从 WebSphere forum 得到了这个答案.


在 WebSphere 7 管理控制台中,

  1. 转到“服务器”=>“服务器类型”=>“WebSphere 应用程序服务器”在左边
  2. 在页面主要部分的列表中选择合适的服务器
  3. 点击“容器设置”=>“Web 容器设置”=>“Web容器”
  4. 转到右侧的“自定义属性”
  5. 添加新属性:

    • 名称:exposeWebInfOnDispatch
    • 值:true

关于java - RequestDispatcher.forward() 到 "/WEB-INF"下的资源在 WebSphere 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20378230/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com