关于struts的工作原理和流程简介

本文介绍了Struts框架的工作原理和流程,对比传统MVC架构,详细阐述了Struts如何通过ActionServlet、ActionFormBean和ActionBean等组件实现业务逻辑与视图的分离。
摘要由CSDN通过智能技术生成

Struts工作原理和流程简介

MVC简介:

       Model—模型:负责系统的状态和业务逻辑

       View—视图:负责系统的视图呈现

       Controller—控制: 负责系统的逻辑控制

 

核心的原则:

       Jsp页面不出现java代码,servlet不出现html的东西。

 

传统的MVC架构:

       JSPèVIEW

       ServletèController

       JavaBeanèModel

 

传统的流程图:

       客户端的Request请求到达servlet,获取用户输入,setmodel中,model负责取值也业务逻辑,然后由viewget数据更新view,发送到client

 

Struts架构:

       Jsp+struts标签库 è View

      

       ActionBean          

ActionFormBean            Model

 

ActionServlet  

       AactionMapping              Controller

 

Struts流程图:

      

Controller作为接受所有客户端请求的入口点,由ActionServlet来决定需要那个动作类来执行相应的操作,同时通知ActionFormBean来封装用户的表单输入,同时提交给ActionBean执行相应的业务逻辑,通过ActionMapping来决定需要反馈给Client什么。

 

注意的事情:

       Struts的模型主要有Action Bean ActionForm Bean Action中封装了简单的逻辑操作。

较为复杂的逻辑放在JavaBean或者EJB中来完成,然后在Action中调用,因此Action是解决“做什么”,由其他的组件如(JavaBean)来解决“怎么做”的问题。

       ActionForm封装了用户的表单输入,因此Action不用和表单交互,直接和ActionForm交互就可以了!

 

       Struts标签和ActionForm的元素之间一一映射。

 

Struts的工作流程:

 

浏览器:Client

Struts-config.xml

控制器:ActionServlet

模型:Model

视图:View—jsp

Taglib

ApplicationResourses.

properties

Action

ActionForm

      

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

启动Tomcat

初始化ActionServlet,读取s-c,将action存于AM

ActionMapping

返回ActionForward,返回给客户端

ActionForm

是否要验证,根据s-c

Action,调用execute()

 

 

 

 

 

 

 

 

 

 

 

 


<action-mappings >

    <action

      attribute="helloForm"   //

      input="/form/hello.jsp" // 失败后要跳转的页面

      name="helloForm" // 要传给ActionActionForm

      path="/hello"    //指定了访问Action的路径

      scope="request" //  这个actionform的有效范围

      validate = "false"  // 是否验证

      type="com.hicc.struts.action.HelloAction" />

  </action-mappings>

 

Struts 框架会自动把表单中的数据封装导ActionForm中,其属性和表单中的属性一一对应起来。Actionform提供了reset() validate() 的方法。

       Action只需重载execute()方法,在这个方法中实现所有的数据校验和业务逻辑。

 

 由于csdn不是很支持word的格式

我又懒得老是切图啦。

就直接整了个大图!大家看!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值