俞良松(转载自开放系统世界)
struts是在jakarta项目下开发的源代码开放软件,由一系列的框架类.辅助类与定制的jsp标记库构成,定位在基于model 2设计模式的j2ee应用开发.model 2体系是mvc(model-view-controller)体系的一种应用.在mvc体系中,数据模型(model).表现逻辑(view)与控制逻辑(controller)是分离的组件,但它们可以互相通信.struts力图从整体上减轻构造企业级web应用的负担,并提供国际化与数据库连接池支持. 【程序编程相关:创建一个纯CSS的水平导航条 】
struts是源代码开放的企业级web应用开发框架,它的设计目的是从整体上减轻构造企业web应用的负担.本文通过一个struts应用的实例,帮助你迅速掌握struts. 【推荐阅读:Delphi 2005推出好几天了,感觉】
struts的设计目标是为model 2 web应用开发提供一个强大的框架.同时,struts还包含了一些实用组件,例如digest,但这些组件并不从属于上面提到的两个部分. 【扩展信息:【转贴】Singleton模式的C++实】
struts体系可以看成两个相对独立的部分:第一个部分是struts api,用于编写支持struts的应用组件;第二部分是struts的jsp标记库,由html.bean.logic与template四个标记组成.struts的两个部分有着各自不同的用户.对于规模较小的项目,同一个用户可能同时使用这两个部分;但对于规模较大的项目,通常开发者使用api组件,而负责html页面布局的人使用标记库.
struts应用的体系结构
对于从传统编程环境转入web开发的人来说,web编程中令人很不习惯的一个特点是缺乏“程序”.传统的应用总是有主入口点.流程控制与出口点.但在web网站上,用户可能从任何地方进入,按照一种完全随机的次序访问各个页面,甚至可能跳过多个页面,也可能在一.两个小时内毫无动静.这是http访问的基本特征,无论是struts还是其他web编程框架,都无法改变这一点.然而,struts能够隐藏web访问固有的“混乱”,帮助开发者建立起清晰与明确的秩序与规则.
在struts应用中,有一个称为actionservlet的主调度程序(或称为分配器),如图1所示.不过,并非所有的请求都必须通过actionservlet.用户的请求目标可以是非struts的页面,也可以是那些使用了struts标记库但不使用struts请求分配服务的页面.这正是struts体系的优点之一:按需使用.许多编程框架要求你要么不用,要么全部使用,而且一旦你决定使用,以后要悔改从前的错误就会付出高昂的代价.struts按需使用的优点与这类系统形成了强烈对比.
图1 struts框架中的请求处理struts应用由下面这些基本模块构成:
1.配置信息;
2.servlet,主要是struts的actionservlet;
3.动作类(action),执行逻辑与控制(请求分配)功能,它们由actionservlet调用;
4.jsp页面(属于view),常常通过动作类分派;
5.jsp标记库,根据需要使用;
6.各种形式的javabean,包括用户定义的javabean.
典型的struts应用要用到三种配置文件:web.xml.struts-config.xml与可选的应用资源文件.
web.xml是web应用的标准配置文件,是所有j2ee web应用必需的组成部分.应用服务器通过该配置文件把url映射到servlet与jsp,通过该配置文件为servlet与jsp指定启动参数.为struts应用提供的基本web.xml文件很简单,真正必需的只有一个主actionservlet定义,以及一个确保struts请求传递到actionservlet的映射.按照惯例,以“.do”结尾的url都是struts请求,例如/login.do.应用服务器利用web.xml文件中的映射,把该请求传递给actionservlet.... 下一页