Struts工作流程

 谈起Struts,不得不先说一个概念,那就是框架。简单的说,框架就是一个模版。模版是一个半成品,自己本身是不能运行的。
    说白了Struts就是JAVA工作者多年以来总结出的一些开发标准。Struts是一个基于J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。他是属于一个表示层的开发框架。
现在最常用的是Struts 1.x,也有Struts 2.x(前身为webwork)。同类型做表示层的框架也有很多例如sun公司的JSF(java server face)等等。
    Struts的底层用的技术大致有:1,JSP 2,servlet 3,自定义标记 4,XML java解析技术 5,OOAD 6,反射。
                               Struts的工作流程(如图所示)

Struts工作流程

 

 

第一步:应用程序启动后,先将struts-config.xml 的文件加载到内存中。

 

第二步:当客户端浏览器提交一个请求时,他会根据提交的请求中的路径,在struts-config.xml 的下的Action节点中,寻找和提交的*.do(*为某个特定名称)相匹配的Path属性。

第三步:和这个匹配的Path一组的有name这一属性。根据这个name属性的值在这一节点下寻找一个中name和他一样的节点。

第四步:根据同一节点下的type属性会找到一个类。这个类如上图在紫色块。他是一个JAVABEAN。他继承自ActionForm这个类。他里面提供的一组字段,找到这个类后他会利用java的反射机制自动创建一个类的对象,并将客户提交的数据进行封装。这里需要注意的是,里面提供的字段必须和form表单中的控件名称一致。

第五步:执行完以上步骤后,会接着寻找刚才在下的Action节点下的type属性,根据这一属性也会寻找到一个类,这个类就是上图中的第二行右边红色的块。这个类继承自Action类。在这一类中需要重写父类的Excute();方法。参数共4个。后面会有叙述。找到这个类后会自动调用重写过的这个方法。这个方法会返回值为ActionForward。

    参数共4个:ActionMapping,ActionForm,HttpServletRequest,HttpServletResponse。后面两个好理解,第二个是ActionForm。其实就是前面提到过的javabean,第一个是一个ActionMapping,他能得到刚才前面Action接点下的子接点。

第六步:通过Excute();方法处理完业务后回返回一个ActionForward对象,根据返回值会在和Action接点中的 中的name自动匹配 并根据该接点中Path属性进行跳转页面。这里的跳转默认是请求转发,如果需要重定向的话 需要配置Redirect属性为true。

到此这里就详细的描述了一个简单的struts工作流程。后面在配一示例的struts-config.xml 的图。

Struts工作流程

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值