作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 java servlet Thumbnail.do,每次向它发送请求时它都会生成缩略图。用户必须传递用户想要的图像的文件名和宽度。
我使用的代码如下:
public String Image="",ImgWidth="";
Image= "d:\\app\\project\\media\\"+req.getParameter("image");
ImgWidth= req.getParameter("width");
BufferedImage bufferedimage =ImageIO.read(new File(Image))
float scale=1;
int targetWidth=0;
int targetHeight=0;
Imgwidth=req.getParameter("width");
targetWidth=(int)(bufferedimage.getWidth(null)* scale);
targetHeight=(int)(bufferedimage.getHeight(null)* scale);
if(ImgWitdh == null || ImgWitdh.equlas("")){
ImgWitdh ="0";
}
if(targetWidth>Integer.parseInt(ImgWitdh)&& !ImgWitdh.equals("0")){
targetHeight=Integer.parseInt(ImgWitdh) * targetHeight/targetWidth;
targetWidth=Integer.parseInt(ImgWitdh);
}
ImageIO.write(createResizedCopy(bufferedimage,targetWidth,
targetHeight,imageOutput,
res.getOutputStream());
BufferedImage createResizedCopy(Image originalImage, int scaledWidth, int
scaledHeight)
{
BufferedImage bufferedimage =new BufferedImage(scaledWidth, scaledHeight,
BufferedImage.TYPE_INT_RGB );
Graphics2D g = scaledBI.createGraphics();
g.setComposite(AlphaComposite.Src);
g.drawImage(originalImage,0,0,scaledWidth,scaledHeight,null);
g.dispose();
}
无论我必须在哪个页面上显示图像,我都会像这样调用servlet
<img src="../Thumbnail.do?image="the_image_name"&width=150&target="+Math.random()+"/>
直到一切正常,图像将转换为所述尺寸并显示在页面上。但问题是假设在同一页面上我多次调用 Thumbnail.do 以在页面上的不同位置显示不同的图像就像
<div>
<img src="../Thumbnail.do?image="emp.png"&width=150&target="+Math.random()+"/>
</div>
<div>
<img src="../Thumbnail.do?image="logo.png"&width=50&target="+Math.random()+"/>
</div.
然后发生的事情是每次我刷新页面时,div 标签中都会显示随机图像。谁能提出原因以及是否有人知道解决方案回复
最佳答案
如果我正确理解您的问题,问题是浏览器缓存了您的 servlet 中的图像。您可以使用链接中描述的方法禁用 servlet 代码中的缓存:How to prevent the result of Servlets from being cached
关于java - Java中的缩略图程序每次刷新页面时都会给出图像的随机图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18014692/
我是一名优秀的程序员,十分优秀!