【问题标题】:Eclipse J2EE preview server fails to find deployed pagesEclipse J2EE 预览服务器找不到已部署的页面
【发布时间】:2012-10-19 22:05:51
【问题描述】:
我有一个名为Report 的动态Web 项目,它利用了Eclipse 采用的默认生成策略。我在WEB-INF 目录下添加了一个页面hello.jsp,并部署了J2EE 预览服务器。当页面在我的浏览器中启动时,我被定向到以下 URL:
http://localhost:8080/Report
这个页面有两个超链接:
META-INF
WEB-INF
两者的大小均为零 (0) 字节。我的问题是为什么我无法访问/Report/hello.jsp?它会导致类似的未找到/Report/WEB-INF/hello.jsp 也会导致未找到异常。
【问题讨论】:
标签:
java
eclipse
webserver
【解决方案1】:
/WEB-INF 和 /META-INF 文件夹中的文件旨在用于 MVC 视图文件、模板文件、包含文件、标记文件、配置文件等,而不用于旨在通过 URL 直接访问的公共 Web 资源。
将您的hello.jsp 放在/WEB-INF 文件夹之外,然后通过/Report/hello.jsp 访问它。
WebContent
|-- META-INF
|-- WEB-INF
| `-- web.xml
`-- hello.jsp
如果您确实需要将您的 JSP 放在 /WEB-INF 文件夹中(以充当 MVC 视图),那么您需要创建一个前端控制器 servlet,它由 RequestDispatcher#forward() 提供服务。有关启动示例,请参阅 also our servlets wiki page。