在 intellij IDEA 中,我启动了一个新的 Java Web 应用程序,我正在使用 servlet 来处理 GET 和 POST 请求,现在问题出现在我在我的 JSP 页面中引入 CSS 和 JS 的地方,它们似乎没有被渲染/拉取从源代码中,当我在浏览器中检查代码并单击 href 或 src 链接时,我被重定向到 servlet 错误页面,其中包含此代码
<!doctype html><html lang="en"><head><title>HTTP Status 404 – Not Found</title><style type="text/css">h1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} h2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} h3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} body {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} b {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} p {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;} a {color:black;} a.name {color:black;} .line {height:1px;background-color:#525D76;border:none;}</style></head><body><h1>HTTP Status 404 – Not Found</h1><hr class="line" /><p><b>Type</b> Status Report</p><p><b>Message</b> /post/MIS/assets/css/contracts-list.jsp</p><p><b>Description</b> The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.</p><hr class="line" /><h3>Apache Tomcat/8.5.43</h3></body></html>
根据我的研究,我更改了我的链接
<link href="assets/css/style.css" rel="stylesheet">
到
<link href="${pageContext.request.contextPath}/assets/css/style.css" rel="stylesheet">
但同样的问题(重定向到servlet错误页面)仍然存在
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.2/css/all.css">
<!-- Bootstrap core CSS -->
<link rel="stylesheet" href="${pageContext.request.contextPath}/assets/css/bootstrap.min.css">
<!-- Material Design Bootstrap -->
<link href="${pageContext.request.contextPath}/assets/css/mdb.min.css" rel="stylesheet">
<!-- Your custom styles (optional) -->
<link href="${pageContext.request.contextPath}/assets/css/style.css" rel="stylesheet">
<!-- MDBootstrap Datatables -->
<link href="${pageContext.request.contextPath}/assets/css/addons/datatables.min.css" rel="stylesheet">
<script type="text/javascript" src="${pageContext.request.contextPath}/assets/js/jquery-3.4.1.min.js"></script>
<!-- Bootstrap tooltips -->
<script type="text/javascript" src="${pageContext.request.contextPath}/assets/js/popper.min.js"></script>
<!-- Bootstrap core JavaScript -->
<script type="text/javascript" src="${pageContext.request.contextPath}/assets/js/bootstrap.min.js"></script>
<!-- MDB core JavaScript -->
<script type="text/javascript" src="${pageContext.request.contextPath}/assets/js/mdb.min.js"></script>
<!-- MDBootstrap Datatables -->
<script type="text/javascript" src="${pageContext.request.contextPath}/assets/js/addons/datatables.min.js"></script>
我希望页面呈现链接的 css 和 JS 文件,但这会重定向到 servlet 错误页面
最佳答案
通过分析你的错误,
HTTP 状态 404 – 未找到 ******/post/MIS/assets/css/contracts-list.jsp
我知道你的问题,
1. 你没有阅读你的 intellij 服务器发送的错误信息。
2. URL中的两个错误。
A。上下文路径/post/MIS 但它应该是/MIS
b. assets/css/contract-list.jsp,我猜你在包含 JSP 时犯了错误(转发到 JSP 或重定向到 JSP)。
与您的 404 错误的 css 路径没有任何关系。在 jsp 加载后加载 css 和 js 文件。主要条目只有 404。修复包括 contract-list.jsp,其余的东西肯定会工作。
关于javascript - 使用 servlet 在 Java Web 应用程序中呈现 css 和 js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57849541/