|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
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>中未援用拦阻器时)会主动援用一些拦阻器。这个默许的拦阻器援用以下:- <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好。 |
|