同一页面多个相同图片重复加载?

vfp2cs 2012-05-12 10:34:26
有个页面内要显示部门所有人员姓名,排成一个矩形,每个姓名用相同的图片作为背景。
我不会java,下属编了个java程序实现上述需求,但我测试发现2个人的部门和40个人的部门加载速度相差极大,由此推断相同图片文件被反复加载了(人数次)。

检查客户端internet临时文件夹,没有图片的临时文件。

请问这可能是什么原因造成的?如何解决?
...全文
938 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
MiceRice 2012-05-12
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
谢谢ldh911,周一我让他按你的思路改进看看。

图片不在数据库中,是文件。
[/Quote]

既然是文件,就不要再从Servlet中去获取了,直接把文件路径暴露出去好了,类似:
<img src="/img/face/xxxooo.jpg" >

甚至可以加前置Apache或EngineX,直接处理图片文件,性能比Weblogic或Tomcat高多了。

我们的系统架构中,Web前置是必备的,专门负责静态文件下载:图片、CSS、HTML、JS。


当然,结合你对安全性需求了,如果项目中这些图片涉及授权访问的问题,那另当别论。
vfp2cs 2012-05-12
  • 打赏
  • 举报
回复
谢谢ldh911,周一我让他按你的思路改进看看。

图片不在数据库中,是文件。
MiceRice 2012-05-12
  • 打赏
  • 举报
回复
尽量不要用Servlet去显示图片,而是直接访问图片,这种性能最高而且浏览器能自动缓存。


当然你的图片可能在数据库中,导致你不得不用Servlet去展示,那么做到这两步:

1、让路径更像是图片
Servlet映射时,映射到一个路径上,而不是指定Servlet加Get参数。
比如原来的写法可能是:
<img src="/imgServlet?id=xxooxxoo" >
整改后页面请求图片的URL就可以直接写为:
<img src="/imgServlet/xxooxxoo.jpg" >

2、在HTTP头中,增加缓存建议,类似于:
Expires:Mon, 09 May 2022 22:51:31 GMT

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧