Java JSP突然停止发送CSS

Java JSP突然停止发送CSS,java,html,css,jsp,tomcat,Java,Html,Css,Jsp,Tomcat,我有一个JavaEE项目在tomcat上运行。我的JSP如下所示 它位于我的WEB-INF文件夹中,通过servlet调用。我的资源文件夹中有WEB-INF之外的静态内容,如CSS。直到现在,一切都很好——JSP正在访问CSS并显示一个可爱的网页,但突然这种风格停止了显示。我真的不知道为什么,因为我没有改变任何事情。当我在多个设备的多个浏览器上查看源代码并检查元素时,我发现JSP甚至没有加载CSS中的样式。就好像样式表不存在一样 这绝对不是我的JSP的问题,因为我尝试了${pageContext

我有一个JavaEE项目在tomcat上运行。我的JSP如下所示

它位于我的WEB-INF文件夹中,通过servlet调用。我的资源文件夹中有WEB-INF之外的静态内容,如CSS。直到现在,一切都很好——JSP正在访问CSS并显示一个可爱的网页,但突然这种风格停止了显示。我真的不知道为什么,因为我没有改变任何事情。当我在多个设备的多个浏览器上查看源代码并检查元素时,我发现JSP甚至没有加载CSS中的样式。就好像样式表不存在一样

这绝对不是我的JSP的问题,因为我尝试了
${pageContext.request.contextPath}
以及
,但都没有解决这个问题。我还尝试将CSS移动到WEB-INF目录中,但也没有成功

我使用Intellij中的vanilla JSP模板创建了一个新的JSP,在访问CSS文件时似乎也遇到了一些问题,因此这个问题似乎涉及整个项目

问题是我不知道还有什么会影响JSP不获取CSS文件

这是我的JSP

<%--
  Created by IntelliJ IDEA.
  User: micro
  Date: 2/6/2020
  Time: 9:19 PM
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html lang="en">
<head>
    <!-- Required meta tags -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

    <!-- Bootstrap CSS -->
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
    <link rel="stylesheet" type="text/css" href="<c:url value = '/resources/css/mystyles.css' />">
    <title>Chirag Kawediya - Homepage</title>

</head>
<body>
<nav class="navbar sticky-top navbar-expand-md navbar-dark bg-dark container" style="margin-bottom: 5px !important;">
    <a href="#" class="navbar-brand" id="main-logo" >Chirag Kawediya</a>
    <button class="navbar-toggler" data-toggle="collapse" data-target="#navigation">
        <span class="navbar-toggler-icon"></span>
    </button>
    <div class="collapse navbar-collapse" id="navigation">
        <ul class="navbar-nav ml-auto mr-2">
            <li class="nav-item"><a href="#" class="nav-link">international movie blog</a></li>
            <li class="nav-item"><a href="#" class="nav-link">stuff i made</a></li>
        </ul>
    </div>
</nav>

<div class="container">
    <div class="row">
        <div class="col-lg-9 col-md-8 col-sm-12 bg-white border border-dark" style="background-image: url('${pageContext.request.contextPath}/resources/images/MyPortrait.JPG'); background-size: cover;">
            <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
        </div>
        <div class="col-lg-3 col-md-4 col-sm-12 bg-white pt-3">
            <h1>welcome</h1>
            <p>I am Chirag Kawediya. I made this website to keep track of my multiple interests simultanenously. As an avid movie-goer,
                I started to watch foreign language films. Now I write about them in my <a href="#">International Movie Blog.</a> In addition,
                I code (mostly in Java), and I will be putting some of my creations on my website <a href="#">here.</a></p>
        </div>
    </div>
    <div class="row">
        <div class="col-lg-3 col-md-3 col-sm-12 bg-dark pt-1">
            <nav class="navbar navbar-dark bg-dark">
                <a href="#" class="navbar-brand mt-1 mb-auto">recent posts</a>
                <ul class="navbar-nav">
                    <c:forEach var="post" items="${posts}">
                        <li class="nav-item"><a href="${pageContext.request.contextPath}/post?id=${post.id}" class="nav-link"><c:out value="${post.title}" /></a></li>
                    </c:forEach>
                </ul>
            </nav>
        </div>
        <div class="col-lg-9 col-md-9 col-sm-12 bg-white pt-3">
            <h2>about me</h2>
            <p>Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. </p>
        </div>
    </div>

    <footer>
        <div class="row" style="margin-bottom: 0 !important;">
            <div class="col-lg-4 col-md-4 bg-dark text-white pt-3 pl-4">
                <b>Links</b>
                <nav class="navbar navbar-dark bg-dark ml-n3">
                    <ul class="navbar-nav" style="line-height: 0.5 !important;">
                        <li class="nav-item"><a href="#" class="nav-link">Homepage</a></li>
                        <li class="nav-item"><a href="#" class="nav-link">International Movie Blog</a></li>
                        <li class="nav-item"><a href="#" class="nav-link">Stuff I Made</a></li>
                        <li class="nav-item"><a href="#" class="nav-link">Resume</a></li>
                    </ul>
                </nav>
            </div>
            <div class="col-lg-4 col-md-4 bg-dark text-white pt-3 pl-4">
                <b>Contact Information</b>
                <p>Phone: +1 (XXX) XXX-XXXX</p>
                <p>Email: example@gmail.com</p>
            </div>
            <div class="col-lg-4 col-md-4 bg-dark text-white pt-3 pl-4 pr-auto">
                <b>Other Stuff</b>
                <nav class="navbar navbar-dark bg-dark ml-n3">
                    <ul class="navbar-nav" style="line-height: 0.5 !important;">
                        <li class="nav-item"><a href="http://coolmathgames.com" class="nav-link">CoolMathGames</a></li>
                        <li class="nav-item"><a href="http://google.com" class="nav-link">Google</a></li>
                    </ul>
                </nav>
            </div>
        </div>
    </footer>

</div>


<!-- Optional JavaScript -->
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous"></script>
</body>
</html>

Chirag Kawediya-主页





















欢迎 我是Chirag Kawediya。我创建这个网站是为了同时跟踪我的多种兴趣。作为一个狂热的电影爱好者, 我开始看外语电影。现在我在我的日记里写下了他们另外, 我会编写代码(主要是Java),我会把我的一些作品放到我的网站上

关于我 对于所有的错误,我们都要清楚地认识到这一点,因为我们必须清楚地认识到,所有人都应该受到赞扬、尊重和尊重,因为他们都是发明家和准建筑师。Nemo enim ipsam Voluptate是一个有着丰富经验的人,他是一个理性的人。最重要的一点是,在劳动和就业领域,所有人都有自己的权利、义务和义务

链接
联系方式 电话:+1(XXX)XXX-XXXX

电邮:example@gmail.com

其他东西
这是我的web.xml,以防它是罪魁祸首


<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">


    <welcome-file-list>
        <welcome-file>homepage</welcome-file>
    </welcome-file-list>

    <context-param>
        <param-name>DBusername</param-name>
        <param-value>root</param-value>
    </context-param>

    <context-param>
        <param-name>DBpassword</param-name>
        <param-value>chirag12</param-value>
    </context-param>

    <context-param>
        <param-name>uploadFilePath</param-name>
        <param-value>/usr/share/websitestuff</param-value>
    </context-param>

    ...
    a ton of servlet mappings that I edited out
    ...
    <servlet>
        <servlet-name>CommentCreator</servlet-name>
        <servlet-class>CommentUploader</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>CommentCreator</servlet-name>
        <url-pattern>/new-comment</url-pattern>
    </servlet-mapping>

    <error-page>
        <error-code>404</error-code>
        <location>/404</location>
    </error-page>

    <servlet>
        <servlet-name>testservlet</servlet-name>
        <servlet-class>TestServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>testservlet</servlet-name>
        <url-pattern>/test</url-pattern>
    </servlet-mapping>

</web-app> 

主页
数据库用户名
根
数据库密码
希拉克12
上传文件路径
/usr/share/websitestuff
...
我编辑的大量servlet映射
...
评论员
评论上传器
评论员
/新评论
404
/404
testservlet
TestServlet
testservlet
/试验
另外,它看起来像我引用的引导css是由JSP注册和加载的。所以,看起来只是我尝试加载的项目webapps文件夹中的内容没有加载。任何帮助都将不胜感激!谢谢

tl;dr JSP完全忽略webapps文件夹(甚至WEB-INF)中的资源,就好像它们不存在一样


更新:问题变得更加奇怪。我还意识到,服务器似乎甚至不会解释任何不以.jsp结尾的内容,除非它是一个servlet。如果我访问不存在的mywebsite.com/页面,我不会得到404,即使我应该得到。如果我访问mywebsite.com/page而它不存在,我会得到404。基本上,就webapp而言,只有JSP文件结尾不会被忽略,其余的都会被忽略。我真的不知道这意味着什么,也不知道如何修复它。

在浏览器中打开开发者控制台,检查css的“网络”选项卡上是否有任何错误。感谢您的反馈。我试过了,得到了错误“由于mime类型不匹配而忽略css”。我不确定解决方案是什么。你最近添加了依赖项吗?这些可能会更改mime类型匹配规则。根据应用程序服务器的不同,还可能有一个全局部分用于配置mime类型。也许是什么改变了这些设置?您可以尝试将
csstext/css
添加到
web.xml
中,看看这是否解决了问题。不幸的是,mime映射不起作用。不过,我确实发现我的浏览器(或服务器,我不确定)只接受JSP。如果我将css文件制作成JSP,并将
放在顶部,它就可以正常工作。不过,这对我来说是个问题,因为我也想拥有htm