`
damiao_cn
  • 浏览: 87734 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

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

    博客分类:
  • J2EE
阅读更多
    最近客户提出个挺搞笑的需求,要求在网上银行中加入一些客户的个性信息,比如上传头像图片、个性签名档、添加好友等等(感觉越来越不像是银行外围系统,而更像是交友社区,呵呵)
    首先的一个前提,为了保证客户信息的安全性,每个客户的头像都是用客户号MD5加密后形成一个新文件名上传至服务器的(如果直接用客户号为文件名标识每个人的个性头像,则我可以往前或往后推算客户号从而看到我想要了解客户的头像)。这种策略的话,每个客户对应的个性头像文件名是唯一且一定的。
    开发的过程中遇到如下问题:当客户上传图片后预览时,客户端浏览器会自动从缓存中读取图片,你新上传的头像文件虽然已经覆盖了服务器上的旧头像,但在浏览器端,客户仍然看到的是老头像。在网上查啊查,试了很多方法,什么提交表单时url加随机时间啊、给文件名后加一个随机数,预览后在删除随机数并覆盖旧文件拉,不过我个人感觉都不如下面的方法方便。
    BetterWay如下:
    在后台:double random = Math.random();
并把random变量塞回到返回页面
    Jsp页面上:<img align="left" src="images/<c:out value='${portrait}' />?<c:out value='${random}' />" />即可
   
    浏览器会认为你的图片2次的参数不一样即两个不同的图片,故会重新从服务器端读取图片,而不是缓存中的老图片。
1
1
分享到:
评论
4 楼 huqiong198904013344 2011-10-04  
表示感谢!方法不错!
3 楼 yadsun 2009-10-20  
yadsun 写道
请问像这种从数据库中读取图片然后在客户端显示的需求是不是都必须先在服务器端把图片读出来,然后客户端才能显示?就像你的代码中先把图片放在images下,能不能不经过服务器缓存直接以流的形式在客户端显示呢?

这样做主要是想节约服务器的空间,否则这种做法跟直接把图片放到images下有什么两样呢?干嘛还要先存到数据库再从数据库读出来这么费劲,望高人点拨
2 楼 yadsun 2009-10-20  
请问像这种从数据库中读取图片然后在客户端显示的需求是不是都必须先在服务器端把图片读出来,然后客户端才能显示?就像你的代码中先把图片放在images下,能不能不经过服务器缓存直接以流的形式在客户端显示呢?
1 楼 chenniaoc 2009-07-10  
不是很理想的解决办法啊

还有更好的吗

相关推荐

    jsp 页面缓存

    当用户请求一个网页时,如果该页面的内容是静态或者频繁不变的,服务器可以选择将该页面的完整或部分内容存储在内存中,下次用户再次请求相同页面时,直接从缓存中返回,而无需重新生成。这样可以显著减少服务器处理...

    jsp 邮件客户端

    JSP页面在服务器上被编译成Servlet,然后执行并返回响应给客户端。在这个邮件客户端中,JSP被用来创建用户界面,处理用户的交互请求,如登录、发送邮件、读取邮件等。 邮件客户端的**富文本显示**功能通常依赖于富...

    在Jsp中怎样清空缓存 了解就可以了

    1. **浏览器缓存**:当用户访问一个网页时,浏览器会自动将页面的静态资源(如图片、CSS、JavaScript文件等)存储在本地缓存中,以便下次访问时快速加载。要清空浏览器缓存,可以手动通过浏览器的设置选项来完成,如...

    jsp web mail客户端(收发邮件)

    在Web应用开发中,构建一个基于JSP的邮件客户端是一项常见的任务,它允许用户通过Web界面发送、接收和管理电子邮件。以下是一些核心的技术点和流程,涉及到了JavaServer Pages (JSP)、Servlet、JavaMail API以及Web...

    JSP 调用servlet 显示图片

    这种技术可以让开发者在 JSP 页面中显示图片,而不需要在 JSP 页面中直接嵌入图片。 在本文中,我们将介绍如何使用 Servlet 显示图片,并在 JSP 页面中调用 Servlet 实现图片的显示。 首先,我们需要创建一个 ...

    JSP照片模糊

    在这个项目中,Servlet接收JSP页面提交的图片文件,进行处理后再返回响应。Servlet通过`HttpServletRequest`对象获取上传的文件,`HttpServletResponse`对象用于将处理后的图片发送回客户端。 3. **图像处理**: ...

    Jsp图片预览程序(含Java源码)

    【Jsp图片预览程序与Java源码解析】 在IT领域,JSP(JavaServer Pages)是一种用于创建动态网页的技术,它结合了HTML、CSS、JavaScript等前端技术以及Java后端编程能力。Jsp图片预览程序是基于JSP实现的一种功能,...

    jsp超经典图片展示

    一个JSP页面通常包含静态内容(如HTML、CSS和JavaScript)和动态元素(Java代码)。动态元素通过JSP指令(Directives)、脚本元素(Scriptlets)和表达式(Expressions)来实现。在图片展示的场景下,我们主要关注的...

    jsp图片投票系统

    在这个投票系统中,JSP页面通常用于显示用户界面,处理用户的请求,并将结果显示给用户。例如,投票选项可能会展示在JSP页面上,用户通过点击提交按钮触发后台处理。 项目中可能包含以下关键组件和知识点: 1. **...

    JSP清除页面缓存常用方法小结

    具体方法是在JSP页面中设置响应头,禁止浏览器缓存页面内容。以下是一段示例代码: ```jsp response.setHeader("Pragma", "No-cache"); // 设置Pragma头部,禁止缓存 response.setHeader("Cache-Control", "no-...

    不刷当前jsp页面上传文件的实例

    本文将详细介绍如何在JSP页面中实现不刷新页面上传文件的功能。 #### 1. 技术选型与原理 本示例采用了DWR(Direct Web Remoting)技术来实现在不刷新页面的情况下上传文件。DWR是一种简化Java与JavaScript交互的...

    在JSP页面中动态生成图片验证码的方法实例

    在JSP页面中动态生成图片验证码是一项常见的安全措施,它能有效防止自动化程序(如机器人或爬虫)进行恶意操作,比如批量注册、频繁登录等。以下是一个详细的方法实例,来解释如何在JSP中创建这种验证码。 首先,...

    JSP登录验证页面(doc)

    `image.jsp`用于生成数字验证码图片,通过在客户端浏览器展示随机生成的四位数字验证码,确保用户输入的有效性。 1. **页面配置**: - 设置页面类型为`image/jpeg`,字符集为`gb2312`,以便正确显示中文和图片格式...

    JSP实例开发源码——图片浏览小程序(java+applet).zip

    3. **数据库连接**:如果图片信息存储在数据库中,那么JSP页面需要与数据库进行交互。这通常通过JDBC(Java Database Connectivity)实现,包括加载驱动、建立连接、执行SQL查询和处理结果集。 4. **Applet**:在...

    jsp java 生成中文验证码

    4. **保存图像到HTTP响应**:将生成的验证码图像写入到HTTP响应的输出流中,以图片格式(如JPEG或PNG)提供给客户端浏览器。 5. **存储验证码值**:同时,需要将生成的验证码字符串存储在服务器的会话(session)中...

    JSP上传图片并缩放裁切的程序

    - JSP页面接收表单数据,通常会使用`&lt;input type="file"&gt;`元素来处理文件上传。 - 表单的`enctype`属性必须设置为`multipart/form-data`,以便能传输二进制文件。 - 在后台,我们需要一个Servlet来接收并处理文件...

    JAVAWEB缓存技术

    1. **OSCache**:OSCache 是一款广泛使用的开源页面级缓存解决方案,它通过使用JSP标签来定义缓存内容,将数据存储在客户端。这种方式可以减少服务器负载,但同时也受限于客户端缓存的清理情况。如果用户频繁清理...

    JSP 图片下载系统(WAP)

    - **Java JSP**: JavaServer Pages (JSP) 是一种用于创建动态网页的技术,它将Java代码嵌入到HTML页面中,服务器端处理这些代码,然后将结果返回给客户端。在这个系统中,JSP负责处理用户的请求,动态生成响应内容,...

    jsp图片计数器 基于Eclipse实现的图片计数器,可以根据访问数量的次数生成相应的图片,可以根据输入的字体和字体大小显示

    **JSP图片计数器**是一种在Web应用中常见的技术,用于实时统计页面访问量或者用户行为次数。基于Eclipse实现的图片计数器利用JavaServer Pages(JSP)技术,能够动态生成带有访问计数的图片。这种计数器不仅能够记录...

Global site tag (gtag.js) - Google Analytics