谁可相欹 发表于 2015-1-18 11:18:22

了解下JAVA的基于Struts 2拦阻器完成细粒度的基于脚色的存取把持

首先第一点:jsp,servlet,javabean这些最基本的,嘿嘿,就算你是高手的话,在大行的企业级应用的话还是需要框架的,一个好的框架确实能构解决许多问题。
弁言
ApacheStruts作为最乐成的MVCWeb框架早已失掉了普遍的使用,可是其本身也表露出很多弱点,从而引出了Struts2。Struts2摒弃了本来Struts1的计划,而是转向了webwork2,并分离Struts已有的长处,试图打造出一个集众家所长的完善Web框架。Struts2因而也具有webwork2中的一个十分主要的特征-拦阻器(Interceptor)。拦阻器会在Action实行之前和以后被实行(以下图),是一种典范AOP完成。
.Struts2的系统布局

Struts2自己供应了一个org.apache.struts2.interceptor.RolesInterceptor拦阻器以便利开辟职员来完成存取把持。但该拦阻器的完成是创建在J2EE容器供应的存取把持机制之上的。容器供应的存取把持完成粒度较粗,常常没法满意多半使用的需求。在很多项目中,用户所应当具有的权限是由多种要素而决意,常常在分歧的高低文中具有分歧的脚色。比方在一个交际项目中,一个用户会在分歧的社团里具有分歧的脚色,如成员,办理员,宾客等。他的详细脚色取决于以后所处社团的标识符。别的,用户的脚色还和他所要操纵的资本范例有关。好比,在这个交际站点中,用户能够创立本人的日程表,把这个日程表共享给其他用户大概托付给其别人办理。如许对日程表这类范例资本,就会有创立者,阅览者和办理者三种脚色。在更庞大使用中,用户的脚色大概还会受更多要素决意,这就请求存取把持要有更细的粒度,可以处置加倍庞大的逻辑。
为了满意这个需求,在基于Struts2的Web使用开辟中,我们也能够使用拦阻器来完成一个使用托管的基于脚色的存取把持(RBAC,Role-BasedAccessControl)体系,让其可以办理更细粒度的资本。该体系在Struts2的设置文件中界说Action能够由那些脚色来挪用,即对脚色举行受权。拦阻器在Action挪用之前,对以后用户举行权限认证来决意Action是不是应当被实行。
上面我们就基于Hibernate+Spring+Struts2框架来完成这个体系的完成。为了使体系布局加倍明晰易于保护,我们将这个体系分为域模子层、耐久层和服务层来完成。这类分层布局是今朝Web开辟广为利用的一种形式。
<p>
JAVA是一种可以撰写跨平台应用软件的面向对象的程序设计语言,由升阳(SunMicrosystems)公司的詹姆斯·高斯林(JamesGosling)等人于1990年代初开发。

小魔女 发表于 2015-1-19 09:20:22

那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧!

深爱那片海 发表于 2015-1-24 12:02:17

有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)

飘灵儿 发表于 2015-1-24 12:02:29

是一种将安全性(Security)列为第一优先考虑的语言

兰色精灵 发表于 2015-1-24 12:02:21

你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。

冷月葬花魂 发表于 2015-1-24 12:02:37

多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。

简单生活 发表于 2015-2-1 09:54:18

多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。

透明 发表于 2015-2-7 02:22:32

让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。

小女巫 发表于 2015-2-8 19:46:28

Java是一种计算机编程语言,拥有跨平台、面向对java

admin 发表于 2015-2-22 01:03:54

学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。

海妖 发表于 2015-3-1 21:15:26

关于设计模式的资料,还是向大家推荐banq的网站 http://www.jdon.com/,他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。

柔情似水 发表于 2015-3-9 10:22:17

所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。

金色的骷髅 发表于 2015-3-9 17:08:31

一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。

乐观 发表于 2015-3-10 21:23:07

让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。

蒙在股里 发表于 2015-3-17 10:10:58

如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。

小妖女 发表于 2015-3-24 06:37:06

是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言
页: [1]
查看完整版本: 了解下JAVA的基于Struts 2拦阻器完成细粒度的基于脚色的存取把持