1、struts1是采用servlet的分发方式,在web.xml里可以配置多个servlet,不同的servlet可以针对不同servlet处理类,在写action的时候可以继承不同的servlet类,在web.xml里配置的时候,如果servlet里没有设置初始化参数来配置这个servlet配置文件的路径的话,struts1会自动去web-inf下的classes下的”servletname“-servlet.xml加载,如果设置了这个初始化参数的话,则加载参数里的配置文件
<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,/WEB-INF/struts-config-d.xml</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
2、定义了多个servlet的时候,那也一样,可能要处理的东西不一样,用法都一样
3、structs2的时候是用过滤器来实现分发,默认加载web-inf下的classes下的structs.xml文件,如果此文件改名了,则框架找不到该文件,必须在web.xml里自定义初始化参数来设置这个struts的配置文件
总结:所以在有些时候发现在web.xml里也没有配置这些框架使用的xml文件,但是也是能加载的,就是框架默认了加载路径的