【问题标题】:Can't access to WEB-INF/folder/folder/file.jsp无法访问 WEB-INF/folder/folder/file.jsp
【发布时间】:2014-04-29 10:14:49
【问题描述】:

我正在 Tomcat 服务器上使用 eclipse 开发一个小 servlet。

我想从这个 servlet 中包含一些 jsp 文件,它非常适合该文件

WEB-INF/website/NewFile.jsp

但是当我尝试在

中获取一个jsp文件时

/WEB-INF/网站/公共

我得到了 404 not found 异常。
我在“common”文件夹中有一些其他文件,我可以访问它们。
所以我猜想编译时eclipse没有在这个文件夹中找到jsp。
我想我必须以某种方式更改eclipse项目的“jsp搜索路径”但我不知道该怎么做

【问题讨论】:

    标签: java eclipse jsp tomcat web-inf


    【解决方案1】:

    您不能直接访问WEB-INF文件夹下的文件。容器会在WEB-INF/classes中寻找类,WEB-INF下的jsp文件可以被其他JSP/servlet包含,但是任何浏览器请求资源都会得到404响应

    【讨论】:

    • @Peter Rader 阅读用户问题然后是我的回答,然后上面的链接发送给我“Tomcat 通过了这个要求,因为它从 jar 提供文件,而不是从 WEB-INF/类提供文件”我希望它会清除你的疑问
    • 该错误已按照描述解决。看,我可以通过WEB-INF/classes 提供 jsps 和“任何其他浏览器请求资源”。
    【解决方案2】:

    试试

    /yourapp/WEB-INF/classes/META-INF/resources/website/common/newfile.jsp
    

    http://localhost:8080/yourapp/website/common/newfile.jsp
    

    通常其他WEB-INF 文件夹不可用。

    【讨论】:

    • 对我不起作用:/,我可以访问文件 /myapp/WEB-INF/website/common/file.json 所以对我来说路径没问题,但 jsp 文件不是t 包含在 Eclipse 构建期间
    • Servlet 3.0 规范仅要求支持从 META-INF/resources 提供静态文件,前提是 META-INF/resources 位于 /WEB-INF/lib 目录中的 jar 文件中。 Kotaw jsp 文件位于 web-inf/somefolde/somefolder
    • 规范说:Except for static resources and jsps packaged in the meta-inf/resources of a jar (download.oracle.com/otn-pub/jcp/servlet-3.0-fr-eval-oth-JSpec/…)
    • @Kotaw 什么服务器版本?
    • 嗯,邪恶!你的 web.xml (<web-app version="3.0">) 是什么版本?
    猜你喜欢
    • 2018-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-10
    • 1970-01-01
    • 2016-04-05
    • 1970-01-01
    相关资源
    最近更新 更多