仓酷云

标题: 了解下JAVA的struts 2在web.xml中设置概况 [打印本页]

作者: 逍遥一派    时间: 2015-1-18 10:59
标题: 了解下JAVA的struts 2在web.xml中设置概况
大型的应用一般不会用这些框架(因为性能考虑);开发人员根据需要选择用一些框架,也可以不选用框架;不用框架并不代表要自己写框架;修改框架的可能性更小。
web.xml是web使用中加载有关servlet信息的主要设置文件,起着初始化servlet,filter等web程序的感化。
一般,一切的MVC框架都必要Web使用加载一个中心把持器,那接纳甚么办法加载如许的中心把持器呢,servlet或filter成了很好的选择,
由于它们会跟着web服务的启用而主动的载进。关于Struts2框架而言,必要加载FilterDispatcher,
只需Web使用卖力加载FilterDispatcher,FilterDispatcher将会加载使用的Struts2框架。
由于Struts2将中心把持器计划成Filter,而不是一个一般Servlet。故为了让Web使用加载FilterDispacher,只必要在web.xml文件中设置FilterDispatcher便可。
在web.xml内里设置struts。假如是2.1.3之前的版本,用org.apache.struts2.dispatcher.FilterDispatcher,
今后的版本则设置org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter。
  1. <!--设置Struts2框架的中心Filter-->
  2. <filter>
  3. <!--设置Struts2中心Filter的名字-->
  4. <filter-name>struts2</filter-name>
  5. <!--设置Struts2中心Filter的完成类-->
  6. <!--更多出色内容:http://www.bianceng.cn/Programming/Java/-->
  7. <filter-class>org.apache.struts2.dispatcher.FilterDispatcher
  8. </filter-class>
  9. <init-param>
  10. <param-name>config</param-name>
  11. <param-value>struts-default.xml,struts-plugin.xml,/WEB-INF/struts.xml</param-value>
  12. </init-param>
  13. <init-param>
  14. <!--设置Struts2框架默许加载的Action包布局-->
  15. <param-name>actionPackages</param-name>
  16. <param-value>org.apache.struts2.showcase.person</param-value>
  17. </init-param>
  18. <!--设置Struts2框架的设置供应者类-->
  19. <init-param>
  20. <param-name>configProviders</param-name>
  21. <param-value>lee.MyConfigurationProvider</param-value>
  22. </init-param>
  23. <!--设置Struts2框架的常量-->
  24. <init-param>
  25. <param-name>truts.enable.DynamicMethodInvocation</param-name>
  26. <param-value>false</param-value>
  27. </init-param>
  28. <init-param>
  29. <param-name>struts.devMode</param-name>
  30. <param-value>false</param-value>
  31. </init-param>
  32. <init-param>
  33. <param-name>struts.objectFactory</param-name>
  34. <param-value>spring</param-value>
  35. </init-param>
  36. </filter>
  37. <!--设置Filter拦阻的URL-->
  38. <filter-mapping>
  39. <!--设置Struts2的中心FilterDispatcher拦阻一切用户哀求-->
  40. <filter-name>struts2</filter-name>
  41. <url-pattern>/*</url-pattern>
  42. </filter-mapping>
复制代码
个中有3个初始化参数有特别意义:
config:该参数的值是一个以英文逗号(,)离隔的字符串,每一个字符串都是一个XML设置文件的地位。Struts2框架将主动加载该属性指定的系列设置文件。假如没有指定该属性则默许利用以下三个设置文件struts-default.xml,struts-plugin.xml,struts.xml
actionPackages:该参数的值也是一个以英文逗号(,)离隔的字符串,每一个字符串都是一个包空间,Struts2框架将扫描这些包空间下的Action类。
configProviders:假如用户必要完成本人的ConfigurationProvider类,用户能够供应一个或多个完成了ConfigurationProvider接口的类,
然后将这些类的类名设置成该属性的值,多个类名之间以英文逗号(,)离隔。
除此以外,还可在此处设置Struts2常量,每一个<init-param>元素设置一个Struts2常量,个中<param-name>子元素指定了常量name,
而<param-value>子元素指定了常量value。
至于filter-mapping属性是过滤器(Filter)必需的一个属性,用于过滤哀求的路径,此处一样平常就设为/*情势,
对一切哀求uri举行拦阻(过滤),除非你要做一些特别的处置。
到此,设置完struts2的中心把持器后,基础完成了struts2在web.xml文件中的设置。
注重点:假如web容器是J2EE1.3(servlet2.3),因为不会主动加载struts的标签库,以是必要在web.xml文件中手动加载struts的标签库,
文件名struts-tags.tld,一样平常放在WEB-INF上面,能够本人指定但假如web容器是J2EE1.4(servlet2.4),那末web容器会主动加载标签库,
Struts2的标签库界说文件包括在struts2-core-2.0.6.jar文件里,在struts2-core-2.0.6.jar文件的META-INF路径下,包括了一个struts-tag.tld文件,
这个文件就是Struts2的标签库界说文件,Servlet2.4标准会主动加载该标签库文件,个中struts-tags.tld文件里包括了加载信息的片段:以下:
  1. <taglib>
  2. <!--界说标签库的版本-->
  3. <tlib-version>2.2.3</tlib-version>
  4. <!--界说标签库所需的JSP版-->
  5. <jsp-version>1.2</jsp-version>
  6. <short-name>s</short-name>
  7. <!--界说Struts2标签库的URI,jsp文件中使用的uri-->
  8. <uri>/struts-tags</uri>...
  9. </taglib>
  10. 而servlet2.3手动设置以下:
  11. <!--手动设置Struts2的标签库-->
  12. <taglib>
  13. <!--设置Struts2标签库的URIjsp文件中使用的uri,相似于名字空间-->
  14. <taglib-uri>/s</taglib-uri>
  15. <!--指定Struts2标签库界说文件的物理地位-->
  16. <taglib-location>/WEB-INF/struts-tags.tld</taglib-location>
  17. </taglib>
复制代码
用winrar打包j2ee的程序和用IDE打包应用程序是一样的。按照你的想法,你是不是也希望服务器都整合由一家公司提供呢?
作者: 精灵巫婆    时间: 2015-1-20 12:30
是一种将安全性(Security)列为第一优先考虑的语言
作者: 透明    时间: 2015-1-28 09:59
在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
作者: 小妖女    时间: 2015-2-12 01:00
是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言
作者: 爱飞    时间: 2015-3-2 20:50
是一种将安全性(Security)列为第一优先考虑的语言
作者: 飘飘悠悠    时间: 2015-3-11 06:15
Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
作者: 冷月葬花魂    时间: 2015-3-17 22:09
J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。
作者: 海妖    时间: 2015-3-17 22:09
有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)
作者: 小女巫    时间: 2015-3-25 03:31
接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2