我在从 Tomcat 运行我的元素时遇到问题。 我以前使用过 IDE,直到现在才遇到这个问题。 我的 jsp 带有指向 css 的链接,看起来像这样:
<%@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 中吗?
最佳答案
什么是网址映射?您的 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 在没有上下文路径的情况下启动您的 web 应用程序,而当您在 tomcat 下运行它时它有上下文路径。您需要确保 css 或其他资源的路径正确。
关于java - 无法使用来自tomcat的css运行jsp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10761061/