仓酷云

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

[学习教程] 来看Struts2教程8:拦阻器概述

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

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

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

x
C++编译的是本地码,优点是启动快,而且可以精确控制资源因此可以开发很高效的程序.缺点是编程麻烦,而且容易留下安全隐患.跨平台靠源代码在各个平台间分别编译(一处编写到处编译)
Struts2的拦阻器和Servlet过滤器相似。在实行Action的execute办法之前,Struts2会起首实行在struts.xml中援用的拦阻器,在实行完一切援用的拦阻器的intercept办法后,会实行Action的execute办法。
Struts2拦阻器类必需从com.opensymphony.xwork2.interceptor.Interceptor接口承继,在Intercepter接口中有以下三个办法必要完成:
voiddestroy();
voidinit();
Stringintercept(ActionInvocationinvocation)throwsException;
个中intercept办法是拦阻器的中心办法,一切安装的拦阻器城市挪用之个办法。在Struts2中已在struts-default.xml中预界说了一些自带的拦阻器,如timer、params等。假如在<package>标签中承继struts-default,则以后package就会主动具有struts-default.xml中的一切设置。代码以下:
<packagename="demo"extends="struts-default">...</package>
在struts-default.xml中有一个默许的援用,在默许情形下(也就是<action>中未援用拦阻器时)会主动援用一些拦阻器。这个默许的拦阻器援用以下:
  1. <default-interceptor-refname="defaultStack"/>
  2. <interceptor-stackname="defaultStack">
  3. <interceptor-refname="exception"/>
  4. <interceptor-refname="alias"/>
  5. <interceptor-refname="servletConfig"/>
  6. <interceptor-refname="prepare"/>
  7. <interceptor-refname="i18n"/>
  8. <interceptor-refname="chain"/>
  9. <interceptor-refname="debugging"/>
  10. <interceptor-refname="profiling"/>
  11. <interceptor-refname="scopedModelDriven"/>
  12. <interceptor-refname="modelDriven"/>
  13. <interceptor-refname="fileUpload"/>
  14. <interceptor-refname="checkbox"/>
  15. <interceptor-refname="staticParams"/>
  16. <interceptor-refname="params">
  17. <paramname="excludeParams">dojo..*</param>
  18. </interceptor-ref>
  19. <interceptor-refname="conversionError"/>
  20. <interceptor-refname="validation">
  21. <paramname="excludeMethods">input,back,cancel,browse</param>
  22. </interceptor-ref>
  23. <interceptor-refname="workflow">
  24. <paramname="excludeMethods">input,back,cancel,browse</param>
  25. </interceptor-ref>
  26. </interceptor-stack>
复制代码
下面在defaultStack中援用的拦阻器都能够在<action>中不经由援用就能够利用(假如在<action>中援用了任何拦阻器后,要利用在defaultStack中界说的拦阻器,也必要在<action>中从头援用,在前面将具体解说)。
<p>
那这个对象有什么意义?现在很多用javabean的人就不能保证对象有完整的意义,不成熟的使用模式等导致代码疯狂增长,调试维护的时间要得多得多。在说性能之前,先说说你这个比较的来历。据说微软为了证明。net比java好。
兰色精灵 该用户已被删除
沙发
发表于 2015-1-20 15:00:40 | 只看该作者
那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧!
蒙在股里 该用户已被删除
板凳
发表于 2015-1-25 23:40:21 | 只看该作者
当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?
若相依 该用户已被删除
地板
发表于 2015-2-4 12:55:02 | 只看该作者
任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言
爱飞 该用户已被删除
5#
发表于 2015-2-9 22:42:41 | 只看该作者
还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。
金色的骷髅 该用户已被删除
6#
发表于 2015-2-28 03:16:41 | 只看该作者
Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
若天明 该用户已被删除
7#
发表于 2015-3-9 20:11:23 | 只看该作者
是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言
透明 该用户已被删除
8#
发表于 2015-3-17 00:25:28 | 只看该作者
还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。
变相怪杰 该用户已被删除
9#
发表于 2015-3-23 09:27:03 | 只看该作者
Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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