仓酷云

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

[学习教程] 来看SSH集成框架下真正完成Spring AOP拦阻功效

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

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

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

x
你精通任何一门语言就最强大。现在来看,java的市场比C#大,C#容易入手,比较简单,java比较难
成绩的提出:
在Struts1框架下,有三品种型的Action把持器,分离是MappingDispatchAction、DispatchAction和Action,他们是顺次承继,终极实行的execute办法。但MappingDispatchAction、DispatchAction的子类中没有execute办法,只要参数指定的详细办法,而这些办法是被MappingDispatchAction、DispatchAction本类的execute办法挪用实行,出格注重的是它是经由过程反射机制来做的(人人能够看看DispatchAction类的源代码),以是这些被反射挪用的办法是不克不及被SpringAOP拦阻的,因而也就没法使用切面编程完成权限把持了。
办理办法:
巴巴活动网经由过程掩盖DelegatingRequestProcessor把持器的processActionPerform办法,是一种幻想的办理计划,但严厉来讲并非AOP切面编程办法。因而笔者仅从进修AOP切面编程的角度来提出本文章,关于有用性笔者尽力保举巴巴活动网的计划。
本办法办理头脑:
1.掩盖execute办法,再仿照DispatchAction反射挪用详细的办法;
2.完成SpringAOP拦阻点,入手下手拦阻设置形貌的局限内的程序;
3.在切进点程序中再次完成反射机制,猎取实行办法上的权限设置信息;
4.依据权限信息决意放行仍是前往。
终极既能够拦阻到execute办法,也能够失掉详细办法中的权限注解设置信息。以本BBS体系为例:
第一步:凡承继于DispatchAction的类都掩盖execute办法:
  @Override
publicActionForwardexecute(ActionMappingmapping,ActionFormform,
HttpServletRequestrequest,HttpServletResponseresponse)throwsException{
returnsuper.execute(mapping,form,request,response);
}
//假设这个action中有一个详细的办法:
@Privilege(userType=PrivilegeType.Admin,message="需办理员权限!")
publicActionForwardaddUI(ActionMappingmapping,ActionFormform,
HttpServletRequestrequest,HttpServletResponseresponse)throwsException{
CategoryFormcategoryForm=(CategoryForm)form;
categoryForm.setTitle("新增分类");
returnmapping.findForward("addUI");
}
第二步:做本人的权限设置:
看下面addUI办法上的注解应当能够了解这些设置
  @Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public@interfacePrivilege{
Stringmessage()default"您没有权限实行该操纵,请登录后重试!";
PrivilegeTypeuserType();
}
<p>
自己的整个学习思路完全被老师的讲课思路所牵制,这样几节课听下来,恐怕自己的见解都应该是书里的知识点了,根本谈不上自身发现问题,分析问题,和解决问题能力的切实提高。
变相怪杰 该用户已被删除
沙发
发表于 2015-1-20 14:54:59 | 只看该作者
多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。
小魔女 该用户已被删除
板凳
发表于 2015-1-24 14:50:33 | 只看该作者
设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧
分手快乐 该用户已被删除
地板
发表于 2015-1-24 15:42:48 | 只看该作者
J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。
精灵巫婆 该用户已被删除
5#
发表于 2015-2-1 23:36:44 | 只看该作者
接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。
灵魂腐蚀 该用户已被删除
6#
发表于 2015-2-7 16:12:57 | 只看该作者
J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。
柔情似水 该用户已被删除
7#
发表于 2015-2-22 14:49:53 | 只看该作者
至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。
飘飘悠悠 该用户已被删除
8#
发表于 2015-3-7 00:42:00 | 只看该作者
Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)
再现理想 该用户已被删除
9#
发表于 2015-3-13 23:08:48 | 只看该作者
你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。
简单生活 该用户已被删除
10#
发表于 2015-3-20 21:25:02 | 只看该作者
是一种突破用户端机器环境和CPU
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-15 05:13

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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