无法从 java EE 应用程序加载任何资源
Fail to load any resources from java EE application
我有一个简单的 servlet,它可以工作(它将我转发到 about.jsp
文件)。
@WebServlet("/about")
public class AboutServlet extends HttpServlet
{
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
{
RequestDispatcher dispatcher = request.getRequestDispatcher("/about.jsp");
dispatcher.forward(request, response);
}
}
此 about.jsp
文件需要 navbar.css
才能正确显示
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<meta charset="UTF-8">
<title>Main</title>
<link href="${pageContext.request.contextPath}css/navbar.css" rel="stylesheet" type="text/css">
</head>
<body>
<header>
About
</header>
<nav>
<ul>
<li><a href="/about" class="headerLink current-category">About</a></li>
<li><a href="/catalog" class="headerLink">Catalog</a></li>
</ul>
</nav>
</body>
</html>
但是navber.css
加载失败。
我在浏览器中打开网络选项卡并看到
一般:
请求URL:http://localhost:8080/css/navbar.css
请求方式:GET
状态码:302
远程地址:[::1]:8080
推荐人政策:strict-origin-when-cross-origin
响应 Headers:
连接:keep-alive
Content-Length: 0
日期:2022 年 4 月 20 日,星期三 07:20:06 GMT
Keep-Alive: 超时=20
位置:/about
所以我有 302 重定向(我不知道这个重定向在哪里),我的 .css 文件有 content-length: 0。 navbar.css
位于 webapp/css/navbar.css
放置在 webapp 文件夹中的图像也存在同样的问题。
那么为什么我申请从服务器加载资源以及如何使它工作?
我发现了一个问题。
@WebServlet("/")
public class MainServlet extends HttpServlet
{
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException
{
response.sendRedirect("/about");
}
}
这个 servlet 将来自非 servlet URL 的 所有 请求重定向到 /about
,所以当我评论它时一切正常。但我不明白为什么会导致此问题以及如何将用户从 /
重定向到 /about
我有一个简单的 servlet,它可以工作(它将我转发到 about.jsp
文件)。
@WebServlet("/about")
public class AboutServlet extends HttpServlet
{
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
{
RequestDispatcher dispatcher = request.getRequestDispatcher("/about.jsp");
dispatcher.forward(request, response);
}
}
此 about.jsp
文件需要 navbar.css
才能正确显示
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<meta charset="UTF-8">
<title>Main</title>
<link href="${pageContext.request.contextPath}css/navbar.css" rel="stylesheet" type="text/css">
</head>
<body>
<header>
About
</header>
<nav>
<ul>
<li><a href="/about" class="headerLink current-category">About</a></li>
<li><a href="/catalog" class="headerLink">Catalog</a></li>
</ul>
</nav>
</body>
</html>
但是navber.css
加载失败。
我在浏览器中打开网络选项卡并看到
一般:
请求URL:http://localhost:8080/css/navbar.css
请求方式:GET
状态码:302
远程地址:[::1]:8080
推荐人政策:strict-origin-when-cross-origin
响应 Headers:
连接:keep-alive
Content-Length: 0
日期:2022 年 4 月 20 日,星期三 07:20:06 GMT
Keep-Alive: 超时=20
位置:/about
所以我有 302 重定向(我不知道这个重定向在哪里),我的 .css 文件有 content-length: 0。 navbar.css
位于 webapp/css/navbar.css
放置在 webapp 文件夹中的图像也存在同样的问题。 那么为什么我申请从服务器加载资源以及如何使它工作?
我发现了一个问题。
@WebServlet("/")
public class MainServlet extends HttpServlet
{
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException
{
response.sendRedirect("/about");
}
}
这个 servlet 将来自非 servlet URL 的 所有 请求重定向到 /about
,所以当我评论它时一切正常。但我不明白为什么会导致此问题以及如何将用户从 /
重定向到 /about