`
oywl2008
  • 浏览: 1050642 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

总结: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  问题情景再现:

 

jspimg 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   原理:

由于在imgsrc中增加了随机数参数,多次访问图片时,浏览器认为是访问了不同的图片路径(或者说是访问了不同的图片),浏览器会每次重新访问服务器读取图片,而不再读取缓存中的图片。

 

 

 

相关参考:

Jsp页面中关于客户端图片缓存的解决

http://damiao-cn.javaeye.com/blog/371216

 

JSP解决图片缓存问题

http://wuaner.javaeye.com/blog/395443

分享到:
评论

相关推荐

    JSP 页面缓存以及清除缓存

    ### JSP 页面缓存及其清除方法详解 #### 一、JSP页面缓存的重要性与应用场景 JSP(Java Server Pages)技术是一种结合了HTML、XML和Java编程的技术,用于创建动态网页。在JSP开发中,页面缓存是一种常用的技术手段...

    HTML,JSP页面缓存的解决方案

    本文将详细介绍如何解决HTML、JSP页面在模态窗口中的缓存问题。 #### 一、理解页面缓存机制 页面缓存主要由浏览器完成,其目的是为了加快页面加载速度。浏览器缓存分为两种类型:强制缓存和协商缓禁。 1. **强制...

    jsp 页面缓存

    总结来说,"jsp 页面缓存"是一个涉及到Web性能优化的关键概念。通过合理地设置和利用缓存,我们能够显著提升JSP页面的加载速度,减少服务器压力,并提供更好的用户体验。在实际开发中,应根据应用的具体需求选择合适...

    图片上传成功jsp页面不刷新问题

    综上所述,当遇到JSP页面图片上传成功但不刷新的情况,通过添加随机参数来避免浏览器缓存问题,是一种常见且有效的解决方案。开发者需要在实际操作过程中,注意细节的准确性,以保证程序的正确执行。

    jsp页面加载时提示loading

    综上所述,解决"jsp页面加载时提示loading"的问题需要从多方面进行排查和优化,包括页面内容优化、服务器性能提升、网络条件改善、代码错误检查、缓存策略调整、服务器配置优化、数据库性能优化、AJAX请求优化、...

    JSP页面缓存的简单实现 (可用于 content-type 为字符类型的JSP页面).zip

    JSP页面缓存是提高网站性能和响应速度的有效手段,它通过存储已处理过的JSP页面结果来避免每次请求时都重新执行JSP页面的编译和执行过程。本资源"JSP页面缓存的简单实现 (可用于 content-type 为字符类型的JSP页面...

    开发者突击:JSP网络开发经典模块实现全集_源码

    理解这些阶段有助于优化性能和解决问题。 3. **MVC设计模式**: JSP通常与Servlet和JavaBean结合使用,实现MVC(Model-View-Controller)架构,分离业务逻辑、视图呈现和用户交互控制。 4. **JSP内置对象**: - ...

    提升JSP页面响应速度的七大秘籍绝招

    提升 JSP 页面响应速度的七大秘籍绝招 本文将介绍七大秘籍绝招,以提升 JSP 页面响应速度,提高系统性能。这些秘籍绝招涵盖了 JSP 页面的生命周期、Servlet 的 init() 方法、自动重载功能、HttpSession 的使用、...

    myeclipse2017 jsp页面 在select里面写 导致后面代码不是彩色问题

    4. **使用其他编辑器或IDE**:如果尝试上述方法都无法解决问题,可以考虑切换到其他支持JSP和JSTL的编辑器,如IntelliJ IDEA或Eclipse,看是否同样存在此问题。 5. **检查代码结构**:确认`&lt;c:if&gt;`标签的关闭标签`...

    jsp缓存方式

    JSP页面的缓存主要包括两方面:一是服务器端对JSP编译后的Servlet的缓存;二是客户端浏览器对JSP渲染后HTML页面的缓存。这两种缓存方式对于提升用户体验和减轻服务器压力都至关重要。 1. **服务器端缓存**:当JSP...

    JSP中文乱码问题解决办法

    JSP 页面中中文乱码问题是指在 JSP 页面中使用中文时,页面显示乱码的现象。这种问题的解决办法可以从多方面入手,包括设置页面的字符编码、使用 POST 方式提交表单、使用 GET 方式提交表单等。 一、JSP 页面设置...

    java JSP页面静态化总结_动态页面变为静态页面以减少访问数据库的次数提高速度.zip

    - 静态化后的页面更新问题:当后台数据变化时,需要及时更新对应的静态页面,否则可能会显示过期信息。 - 缓存管理:静态页面可能需要缓存控制策略,以平衡性能和资源消耗。 - 安全性:静态化可能暴露出原本动态...

    jsp问题处理集,解决大多数jsp的常见问题

    而动作(如`&lt;jsp:include&gt;`、`&lt;jsp:forward&gt;`和`&lt;jsp:param&gt;`)则用于动态地操作页面内容。确保正确理解和使用这些元素可以避免很多问题。 3. **EL(Expression Language)**: EL是一种简化在JSP中访问JavaBean...

    IE页面缓存问题jsp及servlet中的设置

    综上所述,IE页面缓存问题的解决不仅仅依赖于一种方法,而是需要结合JSP、Servlet以及HTML中的多种策略。通过合理设置响应头和HTML元信息,可以有效地控制页面的缓存行为,确保用户始终能够接收到最新的数据和最准确...

    JSP中文乱码问题解决总结

    2. 开发阶段就进行多语言测试,尽早发现并解决问题。 3. 使用版本控制工具,确保团队成员对编码设置有统一的认识。 4. 对于用户提交的数据,始终使用标准的字符集进行处理,避免直接拼接字符串。 5. 在数据库设计...

    动态Jsp页面转换成静态Html页面

    3. 解析JSP:使用JSP的`RequestDispatcher.include()`或`JspRuntimeLibrary.include()`方法,将JSP页面包含进来并执行,得到HTML字符串。 4. 生成HTML:将HTML字符串写入到一个新文件中,文件名通常是JSP文件名加上....

    解决JSP页面中文乱码问题

    ### 解决JSP页面中文乱码问题 #### 一、问题背景 在使用JSP(Java Server Pages)技术开发Web应用程序的过程中,经常会遇到中文乱码的问题。特别是在接收表单提交的数据或者显示数据库查询结果时,中文字符可能会...

    jsp登录页面设计源代码

    在jsp登录页面设计中,我们使用&lt;jsp:forward&gt;标签来实现页面跳转。例如,在上面的代码中,我们使用&lt;jsp:forward&gt;标签来跳转到main.jsp页面。 8. 数据库访问: 在实际应用中,我们需要使用数据库来存储用户的信息,...

    jsp include 乱码问题的解决

    在JSP中,`&lt;jsp:include&gt;`标签是用于在页面间进行内容包含的,但有时可能会遇到“乱码”问题,这通常涉及到字符编码的处理。本文将详细解析JSP `include` 乱码问题的成因以及解决方法。 首先,我们要理解乱码产生的...

Global site tag (gtag.js) - Google Analytics