基于MVC模式的Struts框架概述(2)
2008-02-23 09:51:46来源:互联网 阅读 ()
如果要详细了解有关JavaBean,读者可以参考 http://java.sun.com/products/javabeans 站点提供了非常详细的介绍.
用户定义标签
JSP中的用户定义标签为开发者提供了很好界面和功能扩展能力.它支持用户可以在JSP页面中定义相应的业务标记.通常这些标记继承自TagSupport类.并通过重写TagSupport类的相关方法来扩展功能.
在Struts中,Struts框架定义了一组用户标签.其主要包括:
l Bean标签,用来支持JavaBean的访问
l HTML标签 用来支持HTML界面元素的创建和访问
l Logic标签 用来支持逻辑执行
l Neted标签和Tiles标签 用来支持界面表示
EJB组件技术
Enterprise Java Bean 简称 EJB 是一套基于标准的分布式对象组件技术.它是CORBA和 RMI的服务器端Java组件.EJB技术和JavaBean技术一样在企业开发中处理业务逻辑.他们的区别在于EJB组件是分布式的必须运行EJB容器中.而JavaBean组件是运行在调用方内存的组件.
EJB定义了基本用来处理业务流程逻辑的会话Bean和用来维护业务持久状态的实体Bean.以及处理基于消息驱动的消息Bean.
EJB组件所以运行的EJB容器,为EJB组件维护了安全性,事务性,持久性,并行性,等多种服务.并提供了开发,部署,运行等环境的支持.
读者可以访问 http://java.sun.com/products/ejb/index.html 中深入学习这些技术.
XML标记语言
XML标记语言可以用来定义用户自己的标记.XML在WEB服务中使用的非常广泛.如SOAP协议就是由XML定义的.XML可以定义非常通用化并利于被应用程序处理的信息结构.
在Struts框架中XML起到了黏合剂的作用,可以用来配置Struts框架中的各组件的组成框架.
读者可以通过访问 http://www.w3schools.com/xml/default.ASP 获得更多的学习资料.
J2EE相关容器
现阶段任何一个分布开发都离不开服务器.对于Web开发则时Web服务器,Web服务器通常用来处理Http请求和回复工作,并提供了安全性,事务性,多任务并行性.现代Web容器还提供了可编程的用户接口.而分布式开发中应用程序的逻辑部分通常放在应用程序的中间件服务器上.EJB容器就是这样一个中间件服务器.该服务器提供了对EJB组件的运行环境的支持.并提供对RMI—IIOP等远程对象调用协议的支持,使得开发EJB组件这里中间件比较容易.使得开发人员更多的关心的是业务逻辑问题.
目前比较流行的开源的Web服务器主要是Apache软件组织的Tomcat服务器.Tomcat不仅是一个优秀的Web服务器更是一个十分便捷的Servlet/JSP容器.而开源的EJB容器比较有代表的当数JBoss 它是由JBoss软件组织开发的,其性能稳定可靠,并有着非常高效的执行速度.
MVC设计模式概述
一般而言,一个计算机程序包括其输入,处理,和输出.而MVC设计模式把输入,处理和输出部分独立成为了独立的程序部分.并在系统运行时将其结合,这样使得开发的耦合度很低.而.
图 4 MVC设计模型
视图,在软件中通常是用户交互的界面.它用来表示数据和提交用户对软件的请求.
模型,用来处理软件的要涉及的业务范围,主要是业务数据模型和业务逻辑模型.
控制器,用来接受用户的请求并调用模型中的处理过程,然后选择相应的视图.
Java的Web应用中MVC的设计模式运用十分多.JSP Model2 体系结构就是结合了JSP,Servlet和JavaBean技术的MVC模式的实现.
图 5 JSP Model2 模型
Struts框架概述
随着软件开发日渐成熟,软件工程师们也变得逐渐成熟起来,我们开始首先设计软件框架结构,这样在开发阶段我们才会井然有序的进行.而对于现代软件开发对软件的开发周期要求越来越迅速,所以如果要自己开发一套框架已经不太现实了.所以我们必须要选择已经成熟的软件框架了.
而Struts对于Java的Web开发而言就是一个不错的选择.Struts框架实质就是JSP Model2模型的实现.
图 6 Struts 实现的MVC框架
1.视图
视图是通过一组JSP程序实现的.这些JSP程序中不能包含业务逻辑,也不能包括模型的信息.模型的信息是通过控制器传递的.在Struts中ActionForm 也被看成是视图的一部分.它其他更新视图,以及视图查询模型状态的桥梁.
2.模型
模型是程序的状态表示,其状态包括,消息中传递的状态,以及共享状态或一次回话中的状态,以及持久状态.而操作这些状态的流程也同样包括在模型中.这些模型也就是业务的总体运作流程和数据.
3.控制器
控制器部分由ActionServlet和Action来实现.ActionServlet也就是Struts框架用来和Web容器交互的接口.该类是Struts框架的核心组件.ActionServlet继承了HttpServlet类.它在MVC模型中扮演中央控制器的角色.当Web容器一接收到客户请求就会交割ActionServlet该类更加struts-config.xml文件的配置信息选择合适Action来处理请求.并传递请求过程中的数据,这些数据是通过ActionForm传递的.Action本身也并不包含业务逻辑的处理代码.它只是负责调用业务的处理代码的.
调用这些代码的方法在execute()方法中.该方法在调用业务处理以后会放回一个ActionForward对象来选择对应的视图.一般而言我们的Action必须直接或间接的继承该类.然后重写excecute()方法以完成我们自己的处理消息.
4.Struts的配置文件 struts-config.xml
该文件实质是一个控制器和视图的黏合剂,控制器之所以能够选择对应的视图,以及视图能够通过对应的控制器查询到模型中的数据都是依赖该文件.该文件是一个XML文件.在该配置文件中每Action都对应一个<Action>标签用来映射Action类的信息.
从软件的需求分析与设计谈起
实现一个完整的基于Struts的WEB应用
总结:
Java的Web应用中使用到的技术非常多,也相对比较复杂.因此开发中开发人员所负责的技术方面也会相对较多,所以我们必须考虑到个人的特长对开发工作进行合理分配,这就需要我们在软件的设计阶段考虑清楚.而MVC这种设计模式能够很好的把业务数据模型和业务处理模型独立出来,这样开发出独立的系统组件,以便于在开发视图阶段能够很好的保持数据的一致性.而在处理视图和模型之间的关系时控制器成为了两者的纽带,这样使得软件项目可以成为一个系统化的工程.
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash
