JSP 打不开 CSS、图片和 JS

JSP doesn't open CSS, Images and JS

我正在尝试将 CSS、JS 和 IMG 放在我的 JSP 上,但是不起作用,这很奇怪,因为我使用 c:url 和 JSTL 核心。

我正在使用 JSP、JSTL 和 Servlet,没有框架。

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<!DOCTYPE html>
<html>    
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>clientes atuantes</title>
        <link rel="stylesheet" href="<c:url value="/bootstrap/css/bootstrap.min.css"/>">
        <link rel="stylesheet" href="<c:url value="/css/layout.css"/>">
        <script type="text/javascript" src="<c:url value="/bootstrap/js/jquery-1.12.0.js" />"></script>
        <script type="text/javascript" src="<c:url value="/bootstrap/js/bootstrap.min.js" />"></script>
    </head>
    <body>

        <main>
            <div class="col-md-12">
                <div class="panel panel-default espacamentoExterno5">

                    <div class="panel-body">
                        <p><img src="<c:url value="/img/ativo.gif"/>" /> ativo</p>
                        <p><img src="<c:url value="/img/congelado.gif"/>" /> congelado</p>
                        <p><img src="<c:url value="/img/cancelado.gif"/>" /> cancelado</p>

                    </div>
                </div>
            </div>
        </main>
    </body>
</html>

web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
         xmlns:web="http://java.sun.com/xml/ns/javaee" 
         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" version="3.0">
    
  <display-name>PainelProduct</display-name>
  

</web-app>

在 href 值内部使用时,您没有转义 ",请改用 '

url 模式"/" 对网络服务器有特殊意义。它用于能够提供静态内容的默认 servlet 映射。静态内容是JS、CSS、图片、html资源。将这些文件定向到您的 servlet 是错误的,因为它无法提供静态内容。

将 servlet 映射更改为 @WebServlet(urlPatterns="/incidente")

并使用 url localhost:8080/PainelProduct/incidente 转发到 jsp 页面。

查看此问题以了解有关 servlet 和 servlet 映射的更多信息Mapping a specific servlet to be the default servlet in Tomcat

我也遇到了同样的问题,很久都没有解决。然后我从图像的路径上意识到这是一个问题。

错误的路径是这样的;

src>main>resources>images

文件(路径)的顺序一定要如下

src>main>webapp>resources>images

你应该这样调用函数;

<img src="<c:url value="/resources/img/logo.png"/>" alt=""/>