1、在web.xml会配置如下:
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>2</param-value>
</init-param>
<init-param>
<param-name>config</param-name>
<param-value>
/WEB-INF/conf/struts-doxml-config.xml,
/WEB-INF/conf/struts-app-config.xml
</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
可以看出所有以.do结尾的请求都发向org.apache.struts.action.ActionServlet。你要懂servlet的技术就明白了。并不是所有的http请求都会指向ActionServlet,只有以.do结尾的URL请求才会指向ActionServlet。
2、在org.apache.struts.action.ActionServlet的init()方法里会处理struts-config.xml。
你可以下载struts的源代码,从org.apache.struts.action.ActionServlet的init()方法开始看,你就会清楚整个细节。如果还有问题,可以继续问我。
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>2</param-value>
</init-param>
<init-param>
<param-name>config</param-name>
<param-value>
/WEB-INF/conf/struts-doxml-config.xml,
/WEB-INF/conf/struts-app-config.xml
</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
可以看出所有以.do结尾的请求都发向org.apache.struts.action.ActionServlet。你要懂servlet的技术就明白了。并不是所有的http请求都会指向ActionServlet,只有以.do结尾的URL请求才会指向ActionServlet。
2、在org.apache.struts.action.ActionServlet的init()方法里会处理struts-config.xml。
你可以下载struts的源代码,从org.apache.struts.action.ActionServlet的init()方法开始看,你就会清楚整个细节。如果还有问题,可以继续问我。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货