一般来说,只有服务器端的CGI程序(ASP、PHP、JSP)具有session会话功能,用来保存用户在网站期间(会话)的活动数据信息,而对于数量众多的静态页面(HTML)来说,只能使用客户端的cookies来保存临时活动数据,但对于cookies的操作是个很烦琐的过程,远没有对于session操作那样简便。
为此,本文向读者推荐一种在DHTML中的解决方案“Persistence技术”,使得在静态页面中也能使用session会话功能。
使用保持(Persistence)技术让我们能够在当前会话过程中保存一些数据对象到客户端,它减少了对服务器的访问请求,充分发挥了客户端计算机的数据处理能力,从而也整体提升了页面显示效率。
Microsoft Internet Explorer 5浏览器和以后的版本都支持使用状态保持(Persistence)技术,它有以下几种行为可供调用:
saveFavorite—当页面被添加到收藏夹时保存页面状态和信息
saveHistory—在当前会话中保存页面状态和信息
为此,本文向读者推荐一种在DHTML中的解决方案“Persistence技术”,使得在静态页面中也能使用session会话功能。
使用保持(Persistence)技术让我们能够在当前会话过程中保存一些数据对象到客户端,它减少了对服务器的访问请求,充分发挥了客户端计算机的数据处理能力,从而也整体提升了页面显示效率。
Microsoft Internet Explorer 5浏览器和以后的版本都支持使用状态保持(Persistence)技术,它有以下几种行为可供调用:
saveFavorite—当页面被添加到收藏夹时保存页面状态和信息
saveHistory—在当前会话中保存页面状态和信息
需求:网站中每一个用户都有自己的信箱,在用户没有操作的情况下,该用户如果收到了其他用户发来的邮件,该邮件便会自动打开一个窗口来显示器内容。
我的想法是这樣:做一个页面,这个页面被打开之后是静止的,里面Js的代码每隔半分钟去调用一次Action,Action中来判断是否有了新的邮件,如果出现新邮件则在Session里面存储一个值,页面在Js在循环的时候,如果该值为非空的时候则打开一个姒该值为地址的新窗口,窗口中来显示新邮件的内容。
Action里面
我的想法是这樣:做一个页面,这个页面被打开之后是静止的,里面Js的代码每隔半分钟去调用一次Action,Action中来判断是否有了新的邮件,如果出现新邮件则在Session里面存储一个值,页面在Js在循环的时候,如果该值为非空的时候则打开一个姒该值为地址的新窗口,窗口中来显示新邮件的内容。
Action里面
复制内容到剪贴板 程序代码
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
HttpServletRequest request, HttpServletResponse response) {
在用 include 包含JSP 文件时发现最终生成的页面上会有多余的空白行,源代码中有个不能显示的字符,在查了一些文章后发现问题出在编辑器上。之前我用 Editplus 2.11 保存 JSP 文件为 UTF-8 编码,会在文件开始的地方插入三个不可见的字符(0xEF 0xBB 0xBF,即BOM),它的表示的是 Unicode 标记(BOM)。因此解决办法就是将代码保存的时候将 BOM 前面的勾去掉。可以用 EmEditor , Editplus 2.21 来保存。
表示 "ZERO WIDTH NO-BREAK SPACE",更详细的请见
http://www.fileformat.info/info/unicode/char/feff/index.htm
发现问题的测试代码:
test.jsp
---------------------
<%@ page pageEncoding="UTF-8" %>
表示 "ZERO WIDTH NO-BREAK SPACE",更详细的请见
http://www.fileformat.info/info/unicode/char/feff/index.htm
发现问题的测试代码:
test.jsp
---------------------
<%@ page pageEncoding="UTF-8" %>