我从Tomcat运行项目时遇到问题。 我之前使用过IDE,直到现在才遇到这个问题。 我有一个带有css链接的jsp,看起来像这样:
<%@page import="data.PageData"%>
<%@page import="dao.pageDao"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<jsp:useBean id="pagedata" class="data.PageData" scope="request"></jsp:useBean>
<html lang="en">
<head>
<meta charset="utf-8"/>
<title><jsp:getProperty name="pagedata" property="title" /></title>
<link rel="stylesheet" href="main.css">
</head>
<body>
<div id="big_wrapper">
<header id=top_header>
<h1>Site Header</h1>
</header>
<div id="new_div">
<section id="main_section">
<jsp:getProperty property="maintext" name="pagedata"/>
</section>
<aside id="side_menu">
<%= request.getAttribute("pagemenu") %>
</aside>
</div>
<footer id="the_footer">
Copyright 2012 ©
</footer>
</div>
</body>
</html>;
我把它放在tomcat的项目根目录中,就在我拥有jsp的地方。但每当我尝试运行它时,它会显示我的jsp页面,但没有样式(它没有看到main.css)。 我该怎么做才能用风格来展示呢? 附:我应该把smth放在web.xml中吗?
答案 0 :(得分:2)
什么是网址映射?你的main.css是在没有路径的情况下指定的,所以它是相对于你的URL映射中的路径而且你应该把main.css文件放在哪里。
要测试您是否能够访问main.css,在Firefox中,您可以查看html源代码并单击main.css。 Firefox将引导您进入main.css的源代码。如果您无法看到您期望的css代码,那么您的路径是错误的。你可能想要做一些像
这样的事情<link rel="stylesheet" href="/my/url/mapping/path/main.css">
或
<link rel="stylesheet" href="../../my/relative/path/main.css">
如果在使用IDE运行它之前它可能有效,那么可能是您的IDE在没有上下文路径的情况下启动了您的webapp,而当您在tomcat下运行它时,它是使用上下文路径。您需要确保css或其他资源的路径正确。
答案 1 :(得分:0)
抱歉打扰你的人,我发现了错误,它是在xml映射中,我不应该把“/”放在url-pattern的最后