struts1的原理和工作流程
struts1的工作原理或者说工作流程:
1.在web应用程序启动就会加载ActionServlet,ActionServlet从配置文件struts-config.xml中读取配置信息,并把它们存放到各种配置对象中。当ActionServlet接受到一个客户端请求时,将执行如下流程:
(1).检索和用户匹配的ActionMapping实例,如果不存在,就返回请求路径无效的错误信息
(2).如果ActionForm实例不存在,就创建一个ActionForm的对象,把客户提交的表单数据封装到ActionForm对象中。
(3).根据配置信息决定是否要进行表单验证,如果需要,就调用ActionForm的validate()方法
(4).如果validate()方法放回null,或者并不包含ActionMessage的ActionError对象,就表示验证成功
(5).ActionServlet根据ActionMapping所包含的映射信息决定将请求转发给那个action,如果相应的action实例不存在,就先创建这个action对象,然后再调用这个action的excute()方法
(6).action的execute()方法返回一个ActionForword对象,ActionServlet会把客户请求转发给ActionForword对象所指向的JSP组件
(7).ActionForword对象指向JSP组件生成动态网页返回给客户