我在更新spring mvc css资源时遇到问题,一旦上传到部署目录,它就不会进行任何更改。我尝试使用maven clean-> compile-> deploy来修复它,然后运行tomcat服务器。但是更改似乎没有部署应用仍然使用旧的CSS ...在部署的.war包中出现了新的css。
servlet的context.xml中
<?php
header('Content-Type: image/png');
$im = imagecreatetruecolor(600, 70);
$white = imagecolorallocate($im, 255, 255, 255);
$black = imagecolorallocate($im, 0, 0, 0);
imagefilledrectangle($im, 0, 0, 600, 70, $white);
$text = 'Testing...';
// The file name is hard coded in this example.
$font = 'arial.ttf';
imagettftext($im, 50, 0, 10, 60, $black, $font, $text);
imagepng($im);
imagedestroy($im);
?>
答案 0 :(得分:0)
为了解决这个问题通常我在css / js url中使用一个带有时间戳值的变量,就像这样
<link href="${pageContext.request.contextPath}/resources/css/main.css?${applicationScope['cacheHash']}" rel="stylesheet" type="text/css" />
<link href="${pageContext.request.contextPath}/resources/css/homeMenu.css?${applicationScope['cacheHash']}" rel="stylesheet" type="text/css" />
...
问题是您需要在服务器上的作用域应用程序中声明此 $ {applicationScope ['cacheHash']} ,您可以在任何Listerner中声明。
public class CacheListener implements ServletContextListener {
@Override
public void contextInitialized(ServletContextEvent sce) {
sce.getServletContext().setAttribute("cacheHash", new Date().getTime());
}