【问题标题】:JSP - HTTP Status 404 - The requested resource is not available [duplicate]JSP - HTTP状态404 - 请求的资源不可用[重复]
【发布时间】:2015-11-23 23:15:04
【问题描述】:

您好,我是新来的,在 JSP 中遇到问题。在 Eclipse 中,我创建了一个动态 Web 项目。我右键单击 WEB-INF 文件夹以创建一个名为 jsp 的新文件夹。在文件夹 jsp 中,我创建了一个名为“yes.jsp”的新 jsp 文件。 jsp文件是一个简单的jsp文件。

这是yes.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Yes</title>
</head>
<body>
Yes
</body>
</html>

现在,在我的 web.xml 中,当我想运行 yes.jsp 时,我将 web.xml 编写如下

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>test</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
    <welcome-file>WEB-INF/jsp/yes.jsp</welcome-file>
  </welcome-file-list>
</web-app>

在欢迎文件中,我尝试了各种其他替代方案,例如 jsp/yes.jsp、/jsp/yes.jsp、jsp\yes.jsp

但每次我运行它时,我都会得到类似

的响应

HTTP 状态 404 -


输入状态报告

消息

说明请求的资源不可用。


Apache Tomcat/7.0.55

请帮助我了解我哪里出错了。

谢谢!

【问题讨论】:

  • 您能发布完整的web.xml 文件吗?
  • 这是完整的 web.xml 文件,我在问题中复制的那个..
  • 请查看下面给出的答案。

标签: java jsp


【解决方案1】:

您应该将您的 jsp 文件放在 WEB-INF 文件夹之外,但要放在该文件夹之外。 文件夹结构:

root/

  /WEB-INF

  /META-INF

  /jsp/yes.jsp

【讨论】:

  • 我一般在WebContent下创建jsp文件。但是在我的项目中,他们设置了这样的文件夹结构。现在我必须遵守同样的规定。我以前从未尝试过这种文件夹结构。这是第一次,我发现我什至不能运行一个简单的 jsp 文件。这个想法有点令人不安,伙计。因此,想知道如何以这种方式访问​​ jsp 文件,如果可以的话。再次感谢您的回答,@SuperHornet
  • 这是给出的第一个答案。
【解决方案2】:

您不能直接访问 WEB-INF 文件夹。这就是您收到此错误的原因。 您可以通过将 servlet 的名称放在欢迎文件标记中来实现此目的。并在该 servlet 中编写代码以将请求对象分派到 WEB-INF 文件夹中的 jsp 页面。

如果您有任何疑问,请告诉我。

注意:不要忘记在 web.XML 文件中做 servlet 的映射。

【讨论】:

  • 谢谢莫辛。但问题是,如果我不想使用任何 servlet 怎么办?如果我使用 servlet,我知道可以完成映射。但是我直接想访问一个jsp页面,它位于WEB-INF下的一个文件夹中。比如,如果我直接在 WebContent 下创建一个 jsp 页面,我们可以通过在 web.xml 欢迎文件列表中提及它来直接运行它。我想知道是否有类似的简单方法可以访问我在 WEB-INF 下的文件夹中创建的 jsp 文件。
  • 您无法直接从浏览器访问 WEB-INF 文件夹中的任何文件。虽然你可以使用我上面提到的方式,但它太简单了。
猜你喜欢
  • 1970-01-01
  • 2014-04-07
  • 2013-01-22
  • 2013-06-02
  • 2015-09-17
  • 2020-04-29
  • 2016-09-18
  • 1970-01-01
  • 2017-03-23
相关资源
最近更新 更多