【问题标题】:Stylesheets not getting sent to browser [duplicate]样式表未发送到浏览器 [重复]
【发布时间】:2016-05-25 16:05:36
【问题描述】:

样式表未发送到浏览器。

Windows 7 Eclipse 4.5.2(动态 Web 项目) tomcat 7.0.69(实例在工作站本地)

[Eclipse 工作区屏幕截图][1]

网站由 servlet 支持。我试过了... -- XHTML

out.println("<?xml-stylesheet href="/style/mystyle.css" type="text/css"?>");

-- XHTML

out.println("<?xml-stylesheet href="style/mystyle.css" type="text/css"?>");

-- 从 XHTML 转换为 HTML

-- 使用

out.println("<base href=' http://localhost:8080/My_Website03/'>");

*(This method is not scalable to a server, I know.  Just trying things.)*

-- 使用 request.getContextPath()

out.println("<link rel='stylesheet' href='" + request.getContextPath()
        + "/style/style.css' type='text/css' />");
out.println("<link rel='stylesheet' href='" + request.getContextPath()
        + "/style/blue.css' type='text/css' />");

-- 不使用前导正斜杠

out.println("<link rel='stylesheet' href='style/style.css' type='text/css' />");

out.println("<link rel='stylesheet' href='style/blue.css' type='text/css' />");

-- 使用前导正斜杠

out.println("<link rel='stylesheet' href='/style/style.css' type='text/css' />");

out.println("<link rel='stylesheet' href='/style/blue.css' type='text/css' />");

-- 使用前导点斜杠

out.println("<link rel='stylesheet' href='./style/style.css' type='text/css' />");

out.println("<link rel='stylesheet' href='./style/blue.css' type='text/css' />");

-- 使用前导双点斜杠

out.println("<link rel='stylesheet' href='../style/style.css' type='text/css' />");

out.println("<link rel='stylesheet' href='../style/blue.css' type='text/css' />");

没有办法将 .css 文件传送到浏览器。


为了让 servlet 正常工作,需要修复日志记录问题,并且必须让 Eclipse 控制 TomEE-Plume conf。我不知道为什么,但只修复两者中的一个并不能解决问题。我在 Eclipse 和 TomEE 方面的技能很弱,无法理解原因。

修复日志记录问题已写在此 wiki 页面上。更多信息:http://wiki.eclipse.org/WTP_Tomcat_FAQ#How_do_I_enable_the_JULI_logging_in_a_Tomcat_5.5_Server_instance.3F 尽管 wiki 部分是为 Tomcat 5.5 编写的,但它仍然适用于 Tomcat 7.0.69。如果您问我,很长时间没有修复错误。

http://tomee.apache.org/tomee-and-eclipse.html 页面在“高级安装”部分的第 9 步中,给人的印象是配置 Eclipse 以获取控制权是可选的。如上所述,要让 TomEE-Plume 为 servlet 工作,此步骤不是可选的。我不得不让 Eclipse 控制 TomEE 的安装。

关于第 9 步的另一个说明。说明说“使用工作区元数据”,但所需的选项称为“添加外部 Web 模块...”而不是“使用工作区元数据”。

还有最后一个差异需要提及。不再有 /webapps/tomee 目录。我想这在编写文档后发生了变化。我改用“\host-manager”。我希望这不会回来咬我。

哦,是的,另一件事是,Web 模块或概览页面上没有“保存”按钮。执行 CTL+S 以保存更改。

希望对其他人有所帮助。

【问题讨论】:

  • Web 服务器对这些请求返回了哪些错误?普通的非生成 HTML 页面是否有效?
  • 我无法让 Tomcat 生成除 Eclipse 默认显示的启动日志之外的日志。我更改了 logging.properties 没有任何效果。
  • 您是否将您的servlet 映射到/ 的URL 模式上?要排除一个和另一个,直接在 webbrowser 中打开这些 CSS 文件并检查它们的输出。
  • Eclipse IDE 显示来自 / -> HomeServlet 的 Servlet 映射,但我在 web.xml 中看不到映射。不知道 Eclipse 将映射存储在哪里。
  • 有你的问题的原因。基本上,您将使用HomeServlet 覆盖所有未命中任何特定servlet 的请求。这些 CSS 文件将代表HomeServlet 的输出。映射 servlet 的另一种方法是 @WebServlet

标签: html css eclipse tomcat servlets


【解决方案1】:

您应该使用浏览器中的开发工具来检查该行是否实际打印到 html 页面或是否找不到 css 文件。这可以为您提供有关错误的更好线索。

【讨论】:

  • 查看原帖。添加了一个屏幕截图,显示了完整的 html 以及应该有一个 css 的事实。
【解决方案2】:

尝试使用 Java 打印您的当前位置,以便检查并确保您位于正确的工作目录中。 Get current working directory in Java

【讨论】:

  • 这不是一个独立的应用程序。我不明白获取 Tomcat 服务器的当前工作目录将如何告诉我任何事情。请澄清为什么这很重要。
  • 因为目录可能会改变,而您可能只是没有点击样式表。这实际上与您的副本所描述的实际问题非常接近。
猜你喜欢
  • 1970-01-01
  • 2019-08-19
  • 2012-07-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-16
相关资源
最近更新 更多