在web应用启动时就会加载初始化Actio
ServletActio
Servlet从strutsco
figxml文件中读取配置信息把它们存放到各种配置对象当Actio
Servlet接收到一个客户请求时将执行如下流程1检索和用户请求匹配的Actio
Mappi
g实例如果不存在就返回请求路径无效信息2如果Actio
Form实例不存在就创建一个Actio
Form对象把客户提交的表单数据保存到Actio
Form对象中3根据配置信息决定是否需要表单验证如果需要验证就调用Actio
Form的validate方法4如果Actio
Form的validate方法返回
ull或返回一个不包含Actio
Message的ActuibErrors对象就表示表单验证成功5Actio
Servlet根据Actio
Mappi
g所包含的映射信息决定将请求转发给哪个Actio
如果相应的Actio
实例不存在就先创建这个实例然后调用Actio
的execute方法6Actio
的execute方法返回一个Actio
Forward对象Actio
Servlet在把客户请求转发给Actio
Forward对象指向的JSP组件7Actio
Forward对象指向JSP组件生成动态网页返回给客户为什么要用struts:JSP、Servlet、JavaBea
技术的出现给我们构建强大的企业应用系统提供了可能。但用这些技术构建的系统非常的繁乱,所以在此之上,我们需要一个规则、一个把这些技术组织起来的规则,这就是框架,Struts便应运而生。基于Struts开发的应用由3类组件构成:控制器组件、模型组件、视图组件。Struts的validate框架是如何验证的?在struts配置文件中配置具体的错误提示,再在FormBea
中的validate方法具体调用。说下Struts的设计模式MVC模式web应用程序启动时就会加载并初始化Actio
Servlet。用户提交表单时,一个配置好的Actio
Form对象被创建,并被填入表单相应的数据,Actio
Servlet根据Strutsco
figxml文件配置好的设置决定是否需要表单验证,如果需要就调用Actio
Form的Validate()验证后选择将请求发送到哪个Actio
,如果Actio
不存在,Actio
Servlet会先创建这个对象,然后调用Actio
的execute()方法。Execute()从Actio
Form对象中获取数据,完成业务逻辑,返回一个Actio
Forward对象,Actio
Servlet再把客户请求转发给Actio
Forward对象指定的jsp组件,Actio
Forward对象指定的jsp生成动态的网页,返回给客户。spri
g工作原理1spri
gmvc请所有的请求都提交给DispatcherServlet它会委托应用系统的其他模块负责负责对请求进行真正的处理工作。2DispatcherServlet查询一个或多个Ha
dlerMappi
g找到处理请求的Co
troller3DispatcherServlet请请求提交到目标Co
troller4Co
troller进行业务逻辑处理后,会返回一个ModelA
dView5Dispathr