仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 598|回复: 10
打印 上一主题 下一主题

[学习教程] 来看使用Spring AOP考证用户权限实例

[复制链接]
萌萌妈妈 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:08:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
你通过从书的数量和开发周期及运行速度来证明:net和ruby要比java简单。
1.新建一个Java一般工程,并需导进spring-aop.jar包;
2.建UserInfo类:
packageaop.secure;
publicclassUserInfo{
privateStringuserName;
privateStringpassword;
publicUserInfo(StringuserName,Stringpassword){
this.userName=userName;
this.password=password;
}
publicStringgetPassword(){
returnpassword;
}
publicStringgetUserName(){
returnuserName;
}
}
3.建平安信息提醒类SecureBean:
packageaop.secure;
publicclassSecureBean{
publicvoidwriteSecureMessage(){
System.out.println("EverytimeIlearnsomethingnewanditpushessomeoldstuffoutofmybrain.");
}
}

4.建切面类SecurityAdvice完成org.springframework.aop.MethodBeforeAdvice:
packageaop.secure;
importjava.lang.reflect.Method;
importorg.springframework.aop.MethodBeforeAdvice;
publicclassSecurityAdviceimplementsMethodBeforeAdvice{
privateSecurityManagersecurityManager;
publicSecurityAdvice(){
this.securityManager=newSecurityManager();
}
publicvoidbefore(Methodmethod,Object[]args,Objecttarget)throwsThrowable{
UserInfouser=securityManager.getLoggedOnUser();
if(user==null){
System.out.println("Nouserauthenticated.");
thrownewSecurityException("Methodname:"+method.getName());
}elseif("chigo".equals(user.getUserName())&&"chigo".equals(user.getPassword())){
System.out.println("OKAY!");
}else{
System.out.println("Loggedinuseris:"+user.getUserName());
thrownewSecurityException("User"+user.getUserName()+"isnotallowedaccesstomethod"+method.getName());
}
}
}
<p>
先说优点,首先和C,C++这些语言比起来,java很简单,去掉指针的java,非常好理解,自动垃圾回收机制也很好,自从JDK1.5推出以后,性能上又有了很大提高。
小魔女 该用户已被删除
沙发
发表于 2015-1-20 14:59:42 | 只看该作者
Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。
第二个灵魂 该用户已被删除
板凳
发表于 2015-1-21 06:27:09 | 只看该作者
当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?
山那边是海 该用户已被删除
地板
发表于 2015-1-21 10:56:54 | 只看该作者
是一种突破用户端机器环境和CPU
蒙在股里 该用户已被删除
5#
发表于 2015-1-30 16:09:20 | 只看该作者
其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。
谁可相欹 该用户已被删除
6#
发表于 2015-1-31 15:41:40 | 只看该作者
不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。
兰色精灵 该用户已被删除
7#
发表于 2015-2-6 20:11:04 | 只看该作者
Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
萌萌妈妈 该用户已被删除
8#
 楼主| 发表于 2015-2-18 12:58:01 | 只看该作者
Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。
金色的骷髅 该用户已被删除
9#
发表于 2015-3-6 06:45:21 | 只看该作者
Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站
冷月葬花魂 该用户已被删除
10#
发表于 2015-3-12 21:48:46 | 只看该作者
让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。
变相怪杰 该用户已被删除
11#
发表于 2015-3-20 03:28:50 | 只看该作者
是一种使网页(Web Page)产生生动活泼画面的语言
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-24 03:44

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表