欢迎大家和我通过email讨论问题 ycmloveyou@yahoo.com 有好的建议或者对我的笔记有任何质疑也请直接了当地指出。谢谢
--最基本的常识--
Cookie将对话数据存于客户端,在每个请求时发送. Session将对话数据存于服务器端,仅将sessionid存于cookie,这种方法有更好的安全保障,对服务器要求也更高. 基于这一点,struts的默认scope是request,而非session. 程序员在页面间传输数据时也应尽量用request scope以减少服务器负担.
--比较基本的一个常识--
在利用Struts构建的jsp含有html,javascript,jsp scriptlet和struts tags, 执行时的顺序为 jsp scriptlet -> tag library -> html+js. 所以html和js代码可以嵌套 等代码,在struts tag里也可以嵌套scriptlet代码,但反过来就是错的. 实际应用中常用 在html以comment方式显示bean property内容来debug,就是一个典型的例子
--最重要的软件工程实践--
应用了struts的jsp里绝对不能再掺杂处理商业逻辑(Strongly discouraged),scriptlet只适用于完全用于presentation的逻辑处理,而商业逻辑应放到action/ejb/dao层处理. 写在jsp里哪怕一点点的business logic都会让日后的维护付出高昂的代价。