方式进行加密(毫无意义的做法,把 jsp 唯一的灵活性都浪费了)。
演示程序在 99…02 目录下,需要安装ant 之后才可能执行 run。bat 将 jsp 转换成
servlet。
在了解如何手工转换 jsp 之后,我们可以来讨论在数据库中保存 jsp 的问题了。
将 jsp 从数据库中提取出来,将这些数据保存成本地文件,使用 jspc 转换成
servlet 再编译为 class,最后使用自定义的ClassLoader 读取到 jvm 中执行。
难点在于生成文件要保证互不影响和自定义 ClassLoader 如何加载管理这些生
成的 class。
这个问题是典型的无用研究之一,任何想获得灵活模板功能的同学都应该亦然决
然的抛弃 jsp,jsp 这种先解释编译再执行的机制不仅没有帮助我们提升效率,
反而大大增加技术难度并降低响应效率。需要自定义模板的同志务必考虑
velocity; freemarker 此类模板引擎或者 groovy 一类脚本语言,这时使用 jsp
无异于给自己带上一副沉重的枷锁。
16。3。 胡乱解释一下 session
会话都保存在服务器端。
每个用户打开浏览器就服务器就会给它生成一个 sessionId,浏览器或者把这个
sessionId 放到 cookie 里,或者每次请求都带在 url 后边(自动的),然后服
务器就拿到这个 sessionid,在内存里翻啊翻啊,翻出对应的 session 来,就这
么对应上的。
ServletContext 和 session 就没多大关系了,虽然 ServletContext 也是在服务
器端,每个 web 应用发布的时候,就要创建这么一块空间放置 ServletContext,
146 / 148
…………………………………………………………Page 147……………………………………………………………
这个 web 应用中的所有的 servlet; jsp; filter; listener 都可以访问这块空
间。你可以把他看作是一个全局变量,所有共享数据都放到里边。
16。4。 下载文件乱码
参考 如何在 PHP 下载文件名中解决乱码。
基本代码如下:
0) {
fileName = 〃attachment; filename=”〃 +
java。URLEncoder。encode(fileName; 〃utf…8〃) + 〃。txt”〃 ;
} else {
fileName = 〃attachment; filename*=”utf8""〃 +
java。URLEncoder。encode(fileName; 〃utf…8〃) + 〃。txt”〃 ;
}
String content = 〃xml 格式内容。〃 ;
response。setContentType(〃application/octet…stream;charset=UTF…8〃);
response。setHeader(〃Content…Disposition〃; fileName);
out。print(content);
%》
按照 RFC2231 的定义, 多语言编码的 Content…Disposition 应该这么定义:
Content…Disposition: attachment;
filename*=〃utf8""%E4%B8%AD%E6%96%87%20%E6%96%87%E4%BB%B6%E5%90%8D。txt
〃
filename 后面的等号之前要加 *
filename 的值用单引号分成三段,分别是字符集(utf8)、语言(空)和 urlencode
过的文件名。
最好加上双引号,否则文件名中空格后面的部分在 Firefox 中显示不出来。
使用 urlencode 对非 iso…8859…1 字符进行编码。
147 / 148
…………………………………………………………Page 148……………………………………………………………
经过试验,发现几种主流浏览器的支持情况如下:
IE6
attachment; filename=〃〃
FF3
attachment; filename=〃UTF…8 文件名〃
attachment; filename*=〃utf8""〃
O9
attachment; filename=〃UTF…8 文件名〃
Safari3(Win)
貌似不支持?上述方法都不行
148 / 148
………………………………………………………………………用户上传之内容结束……………………………………………………………………………………
小说推荐
- php程序设计简明教程(DOC格式)
- -Page 1-PHP 程序设计简明教程PHP 讲义 第 1 页 共 90 页-Page 2-目录序 4第一章 PHP 简介 6
- 其他
- 最新章:第31章
- asp基础实用教程(DOC格式)
- 目 录一、关于ASP二、ASP的新功能三、创建ASP页四、使用脚本语言五、使用变量和常量六、使用集合七、ASP内建对象八、向浏览器发送内容九、包含文件十、访问数据库十一、调试ASP脚本十二、维护ASP应用程序的安全一、关于ASP Active Server Pages(ASP)是服务器端脚本编写环境
- 其他
- 最新章:第17章
- asp基础入门篇(DOC格式)
- ASP入门与实例-IIS的安装与配置1、运行环境与软件要求Windows 2000 以上(不包括Windows XP Home版)IIS 4.0 以上Microsoft Access 2000Dreamweaver MX2、IIS的安装与配置a.安装IIS若操作系统中还未安装IIS服务器,可打开"控
- 其他
- 最新章:第23章
- C语言游戏编程从入门到精通(PDF格式)
- -Page 1-Page 2-Page 3-Page 4-Page 5-Page 6-Page 7-Page 8-Page 9-Page 10-Page 11-Page 12-Page 13-Page 14
- 其他
- 最新章:第4章
- JMS简明教程(PDF格式)
- -Page 1-JMS1.1规范中文版卫建军2007‐11‐22-Page 2
- 其他
- 最新章:第28章
- C语言实例教程(PDF格式)
- -Page 1-前 言Visual C+是开发运行于Windows 95和Windows NT环境下的Win32应用程序的可视化编程工具中最重要的成员之一,它为软件开发人员提供了完整的编辑、编译和调试工具和建立于Win32 API(ApplicationProgramming Interface)基
- 其他
- 最新章:第143章
- Word2003使用技巧大全(DOC格式)
- Word使用技巧(二)表格使用大全更新时间:2009-11-16 19:32:15 本文共阅读了257次 作者:xushezheng 文章来源:电教组字体大小:大中小一、快速插入表格 拖动“插入表格”能插入的最大表格跟该图标位置、显示分辨率有关。如使用800×600分辨率时最大为18行×28列 二、
- 其他
- 最新章:第1章
- Excel word ppt office使用技巧大全(DOC格式)
- -Page 1-Excel_word_ppt_使用技巧大全(完全版)Excelwordppt使用技巧大全(2011新版本)I-Page 2-Excel_word_ppt_使用技巧大全(完全版
- 其他
- 最新章:第338章
- oracle从入门到精通(PDF格式)
- -Page 1-Oracle 从入门到精通-Page 2-资源来自网络,仅供学习 Oracle 从入门到精通一、SQL 8
- 其他
- 最新章:第37章