Struts原理

一:Strutr起源
Struts 是 Apache 软件基金组织 Jakarta 项目的一个子项目, Struts 的前身是 Craig
R.McClanahan 编写的 JSP Model2 架构。
Struts 在英文中是"支架、支撑"的意思,这表明了 Struts 在 Web 应用开发中的巨大作
用,采用 Struts 可以更好地遵循 MVC 模式。此外, Struts 提供了一套完备的规范,以及基
础类库,可以充分利用 JSP/Se凹let 的优点,减轻程序员的工作量,具有很强的可扩展性。
Struts 1. 0 版本于 2001 年 6 月发布,目前最新的版本是此Struts 1. 2.9o Struts 的作者
Craig R.McClanahan 参与了 JSP 规范制定以及 Tomcat4 的开发,同时还领导制定了J2EE
平台的 Web 层架构的规范。受此影响, Struts 框架一经推出,立即引起了 Java 开发者的
广泛兴趣,并在全世界推广开来,最终成为世界上应用最广泛的MVC 框架。
二:Struts体系结构
Struts作为MVC模式的典型实现,对Model,View,Controller都提供了具体的实现组件;
1:Model部分
Struts的Model部分由ActionForm和JavaBean实现,ActionForm主要用于封装用户请求参数,所有用户请求参数由系统自动封装成ActionForm对象,该对象由ActionServlet转发给相应的Action,然后Action根据ActionForm中请求的参数对用户端的请求进行处理。
而JavaBean则是封装了底层的业务逻辑,包括数据库访问。在复杂的应用中,JavaBean决非代表一个简单的JavaBean,可能是EJB组件或者其它业务组件。
2:View部分
Struts的View部分由JSP实现。Struts提供了丰富的标签库,通过这些标签库可以最大限度的减少脚本的使用。这些自定义标签库可以实现与Model的有效交互,并增加了显示功能。
整个应用由用户端请求驱动,但客户端请求被ActionServlet拦截时,ActionServlet根据请求是否需要调用Model处理用户请求,当用户请求完成后,将其结果通过JSP呈现给用户。
3:Controller部分
Struts的Controller主要有两部分实现:
(1):系统核心控制器;
(2):业务逻辑控制器.
其中,系统核心控制器对应Struts的ActionServlet,该控制器由Struts框架提供,继承HttpServlet,因此可以配置成一个标准的Servlet。该控制器负责拦截所有的HTTP请求,然后根据用户的请求决定是否调用业务逻辑控制器,如何需要调用业务逻辑控制器则将请求转发给Action,否则直接转发请求的JSP页面。
业务逻辑控制器负责处理用户请求,但业务逻辑控制器本身不具备处理能力,而是调用Model进行处理,即业务逻辑控制器对应Action.

你可能感兴趣的:(Struts1,Struts,JSP,MVC,框架,Web)