任何MVC框架都需要与Web应用整合,这就需要借助web.xml文件,只有配置在 web.xml文件中Servlet才会被应用加载。通常, 所有的MVC框架都需要Web应用加载一个核心控制器,对与Struts1框架中,需要配置Struts的ActionServlet, ActionServlet用于接受所有访问者的请求。在Struts应用中,所有对应用程序的请求,都会被WEB SERVER 定向到ActionServlet进行统一控制、分配处理。对于Struts 2框架而言,需要加载FilterDispatcher,只要Web应用负责加载FilterDispatcher,FilterDispatcher将会加载应用的Struts 2框架。因为Struts 2将核心控制器设计成Filter,而不是一个普通Servlet。故为了让Web应用加载FilterDispacher,只需要在Struts2 web.xml文件中配置FilterDispatcher即可。
Struts1:
Struts1:
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>3</param-value>
</init-param>
<init-param>
<param-name>detail</param-name>
<param-value>3</param-value>
</init-param>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
Struts2:
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>