一般blog都有一个calendar,有些blog还会在编写过文章日期相应加标注的功能。这些都免不了从后台数据库读取相应记录来生成Calendar,而不是简单的用js来实现。刚刚经历的过一个项目就有一个这样的特殊需求,写一点自己的感受跟各位分享一下。

        需求:可以在管理后台设定一些事件和有效时间段,Calendar负责显示指定月有事件的日期和对应的事件列表及点击转到指定url的功能;
       实现思路:
       最简单的实现:通过一个action,传指定的年月,查询数据,动态生成calendar,这样页面和action都相应简单一点,不会依赖过多的js。但无疑这种是代价最大的。因为它置于首页和从属页上,而这些页面都是静态的,这个部分只能以iframe的形式加载。无疑大大脱慢了显示速度;
       Servlet实现:通过一个servlet的方式实现Calendar,这是现在较常用的方式,兼容性和效率都还可以。
       ajax的实现:这个是为了加快页面显示速度而采取的空间换时间的策略。因为数据库内容并不会经常变化。如果一味的读取数据库实际上是个不小的开销。数据需要更新的情况仅发生在后台数据库表的变动情况下。这些都是可控的。综合看来,最有效的方式是用xml文件代替数据库。直接用ajax读取xml文件加快显示,同时减少系统负担。而数据更新操作采用触发的方式来实现。因为这一部分的数据变动不会过于频繁。在用户更新或插入数据的时候,通过新建一个线程来完成数据的更新。这样整个实现的思路基本就清晰了。

评论
发表评论

您还没有登录,请登录后发表评论

robinjim
搜索本博客
我的相册
5cd047f0-b120-4f99-820e-ec330a595f7d-thumb
DSC_00321
共 1 张
最近加入圈子
最新评论