阶段学习总结

最近我们在做的这个项目是后台是采用EJB3,前台采用BUffalo框架....由于buffalo能够转换java类型成为javascript类型..省了不少工作.....但发现ejb3好像有一个子bug....   就是对于bean的Annotation注释复制的bug..对于那些注释最好是自己手动写..不能够偷懒从其他文件复制过来..特别是jndiBinding后面跟的字符串..一定要自己的手写输入..不能有任何一个字符是否copy的..  如下:一个DAO具有如下Aannotation注释

@Stateless
@Remote(NewsService.class)
@RemoteBinding(jndiBinding="newsServices")

其中jndiBinding="newsServices" 一定得自己手写...否则前台会没办法调用....导致出错.......

还有JBOSS服务器发现初始化后..第一次调用返回结果非常的慢..根据以前学过的设计模式估计它的启动模式是采用懒汉模式...要不然不会第一次调用这么慢.....它这样把资源加载分到不同阶段....其实就是等于把一分钟分成两个30秒....虽然总来说时间没有什么差别..但是给用户的体验却是不同的.....另外一方面也可以节省一下资源.....

关于buffalo发现它确实有一个很好用的功能..就是数据类型转换...我们只要在文本输入框添加一个 jType="int" 的属性...在往后台发天宇数据的时候就能够自动把数据转换成java的int型......这个算是一个很实用的功能了...

      最近看代码大全里面有提到要惧用全局变量.....感觉现在写的js代码中..网页经常有一两个全局变量.....这些变量是用来保存cookie的值的...如果不用全局变量..还真不知道要怎么去保存了..- -#.......或许我的理解有些错误吧....另外.好像看到里面说到功能不仅要模块化..而且功能程序也要进一步模块化.....就是一个程序函数里面程序也要尽可能的模块化...对局部变量的操作要尽可能的模块化..使得其的生命周期尽可能的短..以便回收内存.另外也可以使程序的可读性提高(以前还真是有很多不好的习惯.)..


      最后总结一下权限控制... 正常一个系统的权限控制是非常重要的..它关系到系统的安全性..可靠性等等各个方面.....关于权限控制这块..网上的资料很多...我在这里只是记录一下当前项目的权限控制
       本项目权限控制是采用角色控制..不同的角色系统管理员分配给你不同的菜单选项.....并把角色ID和菜单选项ID保存到一表中... 用户登录的时候...系统会根据它的角色ID到表中获取相应的菜单选项.ID....动态生成用户的操作菜单........这样对于就实现的基本的权限控制..如果对于某些特别的用户..它需要许多菜单...那就给他一个专门角色...配置一下菜单选项也就基本可以了.....

正则表达式:

匹配中文字符的正则表达式: [\u4e00-\u9fa5]
匹配双字节字符(包括汉字在内):[^\x00-\xff]
匹配空行的正则表达式:\n[\s| ]*\r
匹配HTML标记的正则表达式:/<(.*)>.*<\/\1>|<(.*) \/>/
匹配首尾空格的正则表达式:(^\s*)|(\s*$)(像vbscript那样的trim函数)
匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
匹配网址URL的正则表达式:http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?
以下是例子:
利用正则表达式限制网页表单里的文本框输入内容:
用正则表达式限制只能输入中文:onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))"
1.用正则表达式限制只能输入全角字符: onkeyup="value=value.replace(/[^\uFF00-\uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\uFF00-\uFFFF]/g,''))"
2.用正则表达式限制只能输入数字:onkeyup="value=value.replace(/[^\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"
3.用正则表达式限制只能输入数字和英文:onkeyup="value=value.replace(/[\W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"




 .

你可能感兴趣的:(设计模式,jboss,正则表达式,项目管理,VBScript)