我正在Eclipse中使用JSP和Servlet与Tomcat 7.0构建一个动态Web项目。当我在JSP文件中包含CSS代码时,一切正常,但是当我将它移动到一个单独的文件中时,我无法让JSP文件找到CSS文件。我的文件结构如下:
MyProject
-src
-build
-lib
-WebContent
--MyJsp.jsp
--MyCss.css
--META-INF
--WEB-INF
这是我尝试过的:
<link rel = "stylesheet" type ="text/css" href = "/MyCss.css"/>
<link rel = "stylesheet" type ="text/css" href = "MyCss.css"/>
<link rel = "stylesheet" type ="text/css" href = "/MyProject/WebContent/MyCss.css"/>
<link rel = "stylesheet" type ="text/css" href = "${pageContext.request.contextPath}/MyCss.css"/>
字面上没有任何作用。 JSP页面找不到CSS文件。 (我没有使用web.xml,第一个加载的是一个servlet,如果它与它有关)。
我知道关于这个问题的其他线索存在,但没有一个答案对我有用。
汉克
答案 0 :(得分:2)
在WebContent下创建一个新文件夹作为css并添加您的css文件 然后在jsp中尝试以下代码。
<link rel="stylesheet" href="css/yourfile.css" type="text/css" />
你可以在firefox中添加firebug插件并尝试加载jsp文件,这将帮助你进行调试,比如是否加载了css文件。希望这有帮助。
答案 1 :(得分:0)
可能会有很多想法浮出水面,但我建议将问题一分为二,直到解决方案到来。
使用外部CSS打开页面。查看页面源(从您的浏览器或只是保存生成的HTML)。链接看起来如何? (提示:它应该类似于<link rel="stylesheet" type="text/css" href="…"/>
-
在浏览器中打开CSS。 CSS加载了吗?如果是这样,你很可能在HTML的HTML生成部分出错,但我认为这不太可能。
查看您的WAR文件(可能使用jar tf或将其重命名为.zip并查看一些解压缩程序) - 是否包含CSS?也许它在您的构建过程中被丢弃了?某些版本会为额外的CSS文件等内容保留/resources/
文件夹。
如果文件在那里,请查看tomcat日志,也许你会发现错误。
答案 2 :(得分:0)
您的css资源链接可能有误,您可能需要提供 JSP 文件中的相对链接。尝试按如下方式链接它(注意使用两个句点来提及 JSP 文件上方的一个目录):
<link href="../MyCss.css" rel="stylesheet" type="text/css">
正如@dev在他的评论中已经提到的那样,${pageContext.request.contextPath}/MyCss.css
作为一条道路应该已经成功了。
答案 3 :(得分:-1)
问题是文件没有作为资源提供。您需要告诉服务器将资源文件夹公开到某个路径并将该文件移动到那里。由于我不熟悉您用于设置应用程序的内容(如果您使用的是弹簧或其他内容),我无法再对此问题有所了解。