来看Struts2教程8:拦阻器概述
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>中未援用拦阻器时)会主动援用一些拦阻器。这个默许的拦阻器援用以下:
<default-interceptor-refname="defaultStack"/>
<interceptor-stackname="defaultStack">
<interceptor-refname="exception"/>
<interceptor-refname="alias"/>
<interceptor-refname="servletConfig"/>
<interceptor-refname="prepare"/>
<interceptor-refname="i18n"/>
<interceptor-refname="chain"/>
<interceptor-refname="debugging"/>
<interceptor-refname="profiling"/>
<interceptor-refname="scopedModelDriven"/>
<interceptor-refname="modelDriven"/>
<interceptor-refname="fileUpload"/>
<interceptor-refname="checkbox"/>
<interceptor-refname="staticParams"/>
<interceptor-refname="params">
<paramname="excludeParams">dojo..*</param>
</interceptor-ref>
<interceptor-refname="conversionError"/>
<interceptor-refname="validation">
<paramname="excludeMethods">input,back,cancel,browse</param>
</interceptor-ref>
<interceptor-refname="workflow">
<paramname="excludeMethods">input,back,cancel,browse</param>
</interceptor-ref>
</interceptor-stack>下面在defaultStack中援用的拦阻器都能够在<action>中不经由援用就能够利用(假如在<action>中援用了任何拦阻器后,要利用在defaultStack中界说的拦阻器,也必要在<action>中从头援用,在前面将具体解说)。
<p>
那这个对象有什么意义?现在很多用javabean的人就不能保证对象有完整的意义,不成熟的使用模式等导致代码疯狂增长,调试维护的时间要得多得多。在说性能之前,先说说你这个比较的来历。据说微软为了证明。net比java好。 那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧! 当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢? 任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言 还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。 Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。 是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言 还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。 Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。
页:
[1]