这是我的简单(我希望)问题:
我正在通过 Tomcat 7 运行一个带有 Eclipse 的 Web 应用程序。我使用经典的 servlet-model-jsp 模式。我的问题是,当我更改样式表(CSS)中的某些内容并重新启动 tomcat 并在 chrome 上重新加载页面时,新的 css 未加载到浏览器上(我通过浏览器检查它,我看到与更改之前相同) .
出了什么问题,我该怎么办?!
先感谢您 :)
我不认为这是客户的问题。我认为这是 Eclipse/Tomcat 插件中的错误。如果你检查request.getPathTranslated()
里面的serveletdoGet
方法,它会是这样的
C:\Users\YourName\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\
wtpwebapps\yourAppName\
因此,在 eclipse 中运行的 tomcat 从那里提供静态内容,这与您正在编辑的静态内容的位置不同,通常类似于
C:\fullPathTo\yourAppName\src\main\webapp\static
Eclipse 中的 Tomcat 经常忽略将静态内容从您编辑它的位置更新到插件......从它提供给您的网页的位置。
为了解决我使用 Beyond Compare 或类似的问题,并设置目录之间的比较
C:\fullPathTo\yourAppName\src\main\webapp\static
和
...\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps\yourAppName\static
如果 css 或其他静态更改(例如 javascript 文件)未能在浏览器中显示,只需快速刷新 Beyond Compare 窗口,这将突出显示不匹配,手动复制它们,一切顺利。我知道这是一个 hack,但它对我有用,直到 eclipse 的家伙解决这个问题。