编写web.xml文件(web.xml放在web工程的src目录下)
核心控制器配置
Strtus2的核心控制是由过滤器(Filter)实现的,因此需要在web.xml中以配置过滤器的方式加载Struts2框架。
Struts 2.0.14在Web.xml中的配置 <filter> <filter-name>struts2</filter-name> <filter-class> org.apache.struts2.dispatcher.FilterDispatcher </filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <!--默认扩展名为:action ,当然可以任意指定,比如常用的*.do--> <url-pattern>*.action</url-pattern> </filter-mapping> Struts 2.1.8.1在Web.xml中的配置 <filter> <filter-name>struts2</filter-name> <filter-class> org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter </filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>*.do</url-pattern> </filter-mapping>
注:Struts 2.2.1在web.xml文件中的配置与Struts 2.1.8.1相同。
说明:
Struts2.0.14版本的核心控制器类为: FilterDispatcher
位置在:org.apache.struts2.dispatcher包下
Struts2.1.8.1与Struts 2.2.1版本的核心控制器类为: StrutsPrepareAndExecuteFilter
位置在:org.apache.struts2.dispatcher.ng.filter
Struts2标签库加载
如果Web项目使用了Servlet 2.3以前的版本(包括Servlet 2.3),由于Web项目不会自动加载Struts2框架的标签文件,因此必须在web.xml文件中配置加载Struts2标签库。
<taglib> <taglib-uri>/s</taglib-uri> <taglib-location>/WEB-INF/struts-tags.tld</taglib-location> </taglib>
说明:由于指定了Struts2标签库配置文件的物理位置:/WEB-INF/struts-tags.tld,所以必须手动将Struts2的标签库文件struts-tags.tld复制到WEB-INF目录下。struts-tag.tld文件包含在struts2-core-2.1.8.1.jar(或struts2-core-2.1.1.jar )文件中,使用WinRAR将struts2-core-2.1.8.1.jar(或struts2-core-2.1.1.jar )文件打开,进入到META-INF目录中即可找到。
提示:如果Web工程应用的是Servlet2.4及其以上规范,则无需在web.xml文件中配置标签库的定义,因为Servlet2.4及其以上规范会自动加载标签库定义文件。