对应的MVC
Model:
由actionForm和javaBean 组成,actionform用于封装用户的请求参数,封装成ActionForm对象,由actionServlet转发给action,根据actionform请求参数处理用户的请求
JavaBean 封装了底层的业务逻辑,包括数据库访问
View:
jsp实现,Struts提供了丰富的标签库,可以实现与model的有效交互
Controller组件:
- 系统核心控制器:对应actionservlet,由Struts框架提供,继承httpservlet类,拦截http请求,根据请求决定是否转给业务逻辑控制器
- 业务逻辑控制器:负责处理用户请求,本身不具备处理能力,调用model来完成处理,对应action部分
Struts的执行流程
- request请求—>actionServlet
- actionServlet根据请求在Struts-config.xml文件中找到与地址匹配的Action—>actionForm
- 根据数据生成actionForm对象,调用对象的setter方法,设置给ActionForm对象的成员变量
- action配置中,validate的属性值为true,进行验证。错误,actionservlet将请求转发到input属性所指定的页面
- 没有错误,生成action对象,调用execute方法
- 根据execute方法返回actionForward对象,并转发给下一个action
- 产生视图,发送给客户端