
你可以用被动的方式,大致意思就是:页面定时询问数据库服务器,数据是否有修改,如果有修改,页面就更新自己的内容,如果无则不需要更改
为了保持页面效率性,你可以设置定时时间为每5秒-1分钟一次,或者更久,看内容 的具体情况
为了省流量,你可以用个数据库变量来指示内容是否有变化,比如,数据更新的时间,这样每次页面只需要问下服务器最后数据更新的时间,就知道是否需要更新数据库,节省流量
没理解你说的 session 跟 数据库 跟 jsp页面的关系,我说的,我理解的问题, 数据库的内容有变化,但是jsp页面上的数据没有变化
首先 jsp页面上的数据是怎么来的,是直接查询数据库,获取想要的数据,然后渲染jsp页面,还是通过ajax. 一个页面渲染完成之后,它是不知道 数据库的内容有变化的,如果对页面没什么体验要求的化,你重新刷新一遍页面,这个时候,相当于重新查询一次数据库,这个时候,就可以获取变化了的数据,然后渲染成页面。如果对体验要求高的话,不能靠重新刷新页面去获取新的数据的话,可以用轮询或者websocker之内的技术,来实现
页面本身是不具备保存历史数据的功能的,需要借助其它手段来实现,常用方法如下:
异步更新页面。这种方法实际上页面是没有刷新的,通过AJAX导步获取信息来更新页面,这样可以保留原页面需要保留的数据。一些网站的发表评论后,评论内容更新,用的就是这个方法。
使用COOKIE保存。把需要保存的数据存储到COOKIE中,页面更新时,读取COOKIE渲染到页面上。比较常见的如:登录框记录用户名,下次登录无须重新输入。但COOKIE存储的数据量有限,不适合大的数据存储。
服务器端保存数据。与COOKIE保存类似,只不过内容是保存在服务器端,利用会话机制在页面更新时从服务器读取内容重新渲染。这是一种常见的而保险的方法。像一些文本编辑器,保存草稿等,就是通过这样的方式实现的
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)