struts1执行form提交的流程

本文详细介绍了Struts框架的工作原理及其处理HTTP请求的具体步骤,包括ActionServlet如何初始化配置、检索ActionMapping、处理ActionForm验证及调用Action的execute方法等关键环节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、ActionServlet是在web.xml中配置的一个自动启动项。当web服务器启动时,也就同时实例化了ActionServlet类,ActionServlet会去初始化struts-config.xml的配置信息,并将其加载到内存中,并会
去实例化action-bean,action-form等对象。
2、当ActionServlet接收到来自客户端的请求时,就会去检索和去请求相匹配ActionMapping实例,如果没有找到则返回500错误.

3、如果找到了就检查对应的ActionForm实例是否存在,

a、如果存在,先把该实例相关数据reset清空一下,然后就把用户提交的表单数据填充到ActionForm实例中.

b、如果不存在,就创建一个ActionForm对象,再把用户提交的表单数据填弃到ActionForm实例中

4、接着,再根据配置,看看是否要对表单进行验证(validate),如果需要验证,则调用ActionForm的validate()方法对表单进行验证.

a、如果验证没通过,则返回错误信息。

b、如果不需要验证,或者需要验证但validate方法返回null或者是返回一个不包含ActionMessage的ActionErrors对象的话,表明验证成功。则继续下一步

5、ActionServlet根据ActionMapping实例所包含的映射信息决定将请求发送给哪个Action,如果对应的Action实例不存在,则创建该Action的实例,然后调用该Action的execute()方法

6、执行完Action实例的execute()方法后,该方法会返回一个ActionForward对象

7、ActionServlet再把客户端发过来的请求,转发给ActionForward对象所指向的JSP组件

8、ActionForward所指向的JSP组件再生成动态网页,送回给客户端。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值