Struts1框架简介

SSH框架由Struts、Spring和Hibernate组成,Struts作为基于MVC的Web框架,优化了model2的结构。Struts通过配置文件实现请求与接口的对应,简化了表单数据处理和JSP与servlet交互。然而,它增加了类的数量,可能影响效率。Struts的请求流程涉及ActionServlet、RequestProcessor、ActionForm和Action等核心类,同时支持错误处理、个性化扩展和第三方组件集成。ActionForm用于收集表单数据,ActionMapping配置请求,Action处理业务逻辑,ActionForward包装返回信息。

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

一、SSH引入:

SSH(Struts+Spring+Hibernate),java的一个开源框架,各部分关系见下图:




二、Struts的框架结构:

1、Struts架构图:

     

2、对比model2的结构图:


3、一点总结:

  •  model2和Struts都是基于MVC的框架结构。Struts基于model2,是专门针对Web层进行的一些操作优化。
  • MVC框架分为面向请求驱动(Struts/Webwork)和面向事件(JSF/Tapestry)。
  • .NET是面向事件的MVC框架的封装(将RequestResponse做了进一步的封装,开发者在使用的时候,就像使用事件按钮一样,比较方便)。

4、关于Struts的一点理解:

    结构理解:Struts是对C部分的进一步解耦,通过配置文件将请求对应到一个接口。

优点:简化了对表单数据的处理,使jsp和servlet之间的交互,用代码操作起来更简洁。

缺点:增加了类的数量,影响效率。


5、Struts的请求流程图:

  

6、Struts核心类和方法交互图:(从Web——Tomcat——Struts核心类——Jsp)

7、详细工作流程图:

Struts核心类包括ActionServlet/RequestProcessor/ActionForm/Forward 等,Struts也集成了对 错误和消息的提醒,同时也支持个性化的扩展和第三方组件的引入。




8、关于Struts的总结:

  • ActionForm:收集表单数据
  • ActionMapping:配置信息
  • Action:处理请求,拿到数据,调用业务逻辑
  • ActionForward:包装返回信息
  • ActionMapping一个实例对应了struts-config.xml文件中的一个<action>标签
  • Struts1中是单实例的,具有线程安全问题。使用前先从map中查找是否已经创建好。是,直接用;否,创建,放到map中。Struts2的Action:不是单实例的。
  • 动态ActionForm不需要手动创建ActionForm类,基本上可以完成所有的静态的AF的所有功能。
  • 动态验证框架支持服务器和客户端的两种验证
  • 类似JSTL,有自己的一套标签库
  • 可以集成其他的组件,如,上传组件
  • 允许用户自己扩展,如,扩展数据类型转化器等。
  • 支持资源文件国际化
  • 集成了对异常和提示信息的处理

三、总结:
    这里重点介绍了SSH框架之一的Struts1框架结构,旨在对Struts框架有一个整体的认识。后续部分会通过代码示例总结一些核心类以及核心方法的实现。最终希望通过对开源框架架构思路和源码和的研究提高对编程的认识。

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值