易截截图软件、单文件、免安装、纯绿色、仅160KB

总结:JSP页面img图片缓存问题现象表述及问题解决

JSP页面img图片缓存问题现象表述及问题解决
l  问题表述:
当对含有头像的客服人员信息进行修改(含对头像信息的修改)后,重新打开数据修改界面,发现文本内容修改成功,而头像内容仍然显示为原来的头像——数据库中的对应信息头像所在字段数据已经成功更新。
 
l  前提:
jsp页面中进行了页面缓存清除处理:
<meta http-equiv="pragma" content="no-cache"/>
<meta http-equiv="cache-control" content="no-cache"/>
<meta http-equiv="expires" content="0"/>
当然,下边3行代码功能与上边的3行功能相同,页面中仅写一份
<%
response.setHeader("Pragma","No-Cache");
response.setHeader("Cache-Control","No-Cache");
response.setDateHeader("Expires", 0);  
%>
 
l  问题情景再现:
原jsp中img src写法:
<img src="<%=path%>/servlet/customer/personPic?cspId=${cspId}"></img>
 
要修改的数据界面:
 
修改数据后,再次进入此条数据的修改界面:
发现虽然其它文本字段都进行了相应修改,但是“头像”部分并没有修改为我们指定的图片(如下图,头像仍然显示为一个“叉”的形状)
查询数据库,发现数据库中的头像对应的blob字段中的数据已经更改为指定的图片。
 
l  问题解决(共两步):
(1)修改servlet:在进行数据读取的servlet中增加图片随机数代码
       //图片随机数
       double randomNum = Math.random();
       request.setAttribute("randomNum", randomNum);
(2)更新前台数据修改jsp:图片显示img标签的src中增加“randomNum”参数
<img src="<%=path%>/servlet/customer/personPic?cspId=${cspId}&randomNum=${randomNum}"></img>
 
重新打开同一人员的数据修改界面——成功显示刚才更新过的图片!!
 
 
l   原理:
由于在img的src中增加了随机数参数,多次访问图片时,浏览器认为是访问了不同的图片路径(或者说是访问了不同的图片),浏览器会每次重新访问服务器读取图片,而不再读取缓存中的图片。
 
 
 
相关参考:
Jsp页面中关于客户端图片缓存的解决


相关文档:

jsp 验证

长度限制JavaScript代码
CODE:
<script> function test() { if(document.a.b.value.length>50) { alert("不能超过50个字符!"); document.a.b.focus(); return
false; } } </script> <form. name=a nsubmit="return test()"> <textarea name="b" cols="40" wrap="VIRTUAL" rows="6"></te ......

数据库缓存方案(Java版的,含测试JSP)(转)

http://hi.baidu.com/shedewang/blog/item/b4a71b254e43ce35c895599b.html
说是支持1亿pv/天,也许有点夸张,但如果您能认真看完相信也不会让您失望。
如果大家真想支持我、支持中国人开源项目,请把该文贴到自己的博客中或者收藏本文,记得包含文档的下载地址!!!!!!!谢谢。
我说的系统主要是构建在hibernate之上 ......

jsp文件开头path, basePath作用

在JSP中的如果使用 "相对路径"  则有可能会出现问题. 
因为 网页中的 "相对路径" , 他是相对于 "URL请求的地址" 去寻找资源. 
上面这句话是什么意思呢 ? 
举个例子: 
假如我们有一个项目: MyApp 
在该项目下, 有一个jsp文件夹 
该文件夹下包括: 
login.jsp    // ......

jsp 简单分页

//总记录数
                int count = personDao.getCount();
                //每页显示5条
                int pageSi ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号