Struts其实也就是一个servlet(个人理解),
看着看着源代码,突然间发现,这个servlet是怎么执行过来的?
仔细看了一遍是这样的.
浏览器发送一个请求,然后有web.xml配置的servlet捕捉到,然后找到了struts的actionservlet
其实跟我们开始配置普通的servlet一样的.
我们都知道当一个web请求过来之后,主要是由容器,也就是tomcat来帮我们找到servlet的service方法,然后执行.
那我们在实现了servlet接口或者继承了httpservlet类之后,tomcat就直接调用service方法.
在这里,actionservlet继承了httpservlet,然后tomcat就找了这个类,执行了service方法,然后又actionservlet中重写了doget和dopost方法,所以其实执行的是actionservlet中的dopost和doget方法.
在doXXX方法中调用process(HttpServletRequest request, HttpServletResponse response)
处理请求.
我们在web.xml里面除了配置了action之外,我们还配置了struts的配置文件的位置.
其中在我们的项目启动的时候,struts就会把我们的配置文件转换成我们的Java类,之后我们所有的操作都是根据这个配置信息类来的.
这个也是为什么我们如果改了struts配置文件之后要重启项目的原因.
纯属个人理解.
如果有错误,欢迎指正!