无法从tomcat运行带有css的jsp

时间:2012-05-25 20:38:08

标签: java css jsp tomcat

我从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 &copy;
  </footer>
  </div>
</body>
</html>;

我把它放在tomcat的项目根目录中,就在我拥有jsp的地方。但每当我尝试运行它时,它会显示我的jsp页面,但没有样式(它没有看到main.css)。 我该怎么做才能用风格来展示呢? 附:我应该把smth放在web.xml中吗?

2 个答案:

答案 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的最后