关于我们 』『 人才招聘 』『 学校地图 』『 NCIE介绍 』
首 页 | 新闻中心 | 课程详解 | 教学模式 | 师资团队 | 教学园地 | 就业专栏 | 在线报名 | 技术专栏 | 留言反馈 | 学员博客
咨询电话:028-86615118 ┆ 24小时咨询电话:13438098376 ┆ 就业服务:13438098376 ┆ 咨询群:35540887 ┆ 联系我们公交线路查询
课程推荐
在线咨询
咨询群: 35540887
杨老师: 我是杨老师,咨询请点这里
韩老师: 我是韩老师,咨询请点这里
最新开班信息
成都软件开发学习班
最新免费活动
学员交流
朗沃新闻
 

目前流行的J2EE Web应用架构介绍和分析

录入时间:08-08-15 16:11:08  责任编辑:admin
    它在浏览器(本文对客户代理都称浏览器)和JSP或SERVLET之间插入一个控制组件。这个控制组件集中了处理浏览器发过来的HTTP请求的分发逻辑,也就是说,它会根据HTTP请求的URL,输入参数,和目前应用的内部状态,把请求分发给相应的WEB 层的JSP 或SERVLET。另外它也负责选择下一个视图(在J2EE中,JSP,SERVLET会生成回给浏览器的html从而形成视图)。集中的控制组件也有利于安全验证,日志纪录,有时也封装请求数据给下面的WEB tier层。这一套逻辑的实现形成了一个像MFC的应用框架,位置如图:
  1.3. 多层应用  下图为J2EE体系中典型的多层应用模型。 
    Client tier客户层  一般为浏览器或其他应用。客户层普遍地支持HTTP协议,也称客户代理。 
    WEB tier WEB应用层  
       在J2EE中,这一层由WEB 容器运行,它包括JSP, SERVLET等WEB部件。 
     EJB tier 企业组件层  企业组件层由EJB容器运行,支持EJB, JMS, JTA 等服务和技术。 
     EIS tier 企业信息系统层  企业信息系统包含企业内传统信息系统如财务,CRM等,特点是有数据库系统的支持。  应用框架目前主要集中在WEB层,旨在规范这一层软件的开发。其实企业组件层也可以实现这个模型,但目前主要以设计模式的形式存在。而且有些框架可以扩充,有了企业组件层组件的参与,框架会显得更紧凑,更自然,效率会更高。 
     2. 候选方案  目前,实现模型2的框架也在不断的涌现,下面列出比较有名的框架。  2.1.ApacheStruts  Struts是一个免费的开源的WEB层的应用框架,apache软件基金致力于struts的开发。Struts具是高可配置的性,和有一个不断增长的特性列表。一个前端控制组件,一系列动作类,动作映射,处理XML的实用工具类,服务器端java bean 的自动填充,支持验证的WEB 表单,国际化支持,生成HTML,实现表现逻辑和模版组成了struts的灵魂。 
     2.1.1. Struts和MVC  模型2的目的和MVC的目的是一样的,所以模型2基本可以和MVC等同起来。下图体现了Struts的运作机理: 
     2.1.1.1. 控制  如图所示,它的主要部件是一个通用的控制组件。这个控制组件提供了处理所有发送到Struts 的HTTP请求的入口点。它截取和分发这些请求到相应的动作类(这些动作类都是Action类的子类)。另外控制组件也负责用相应的请求参数填充 From bean,并传给动作类。动作类实现核心商业逻辑,它可以通过访问java bean 或调用EJB。最后动作类把控制权传给后续的JSP 文件,后者生成视图。所有这些控制逻辑利用一个叫struts-config.xml文件来配置。 
     2.1.1.2. 模型  模型以一个或几个java bean的形式存在。这些bean分为三种:  Form beans(表单Beans)  它保存了HTTP post请求传来的数据,在Struts里,所有的Form beans都是 ActionFrom 类的子类。  业务逻辑beans  专门用来处理业务逻辑。  系统状态beans  它保存了跨越多个HTTP 请求的单个客户的会话信息,还有系统状态。         2.1.1.3. 视图  控制组件续传HTTP请求给实现了视图的JSP文件。JSP能访问beans 并生成结果文档反馈到客户。Struts提供JSP 标签库: Html,Bean,Logic,Template等来达到这个目的,并有利于分开表现逻辑和程序逻辑。  2.1.2. Struts的细节分析  
       2.1.2.1. 视图-控制-模型  用户发出一个*.do的HTTP请求,控制组件接收到这个请求后,查找针对这个请求的动作映射,再检查是否曾创建过相应的动作对象(action实例),如果没有则调用actionmapping生成一个动作对象,控制组件会保存这个动作对象供以后使用。接着调用actionmapping的方法得到actionForm对象。之后把actionForm作为参数传给动作对象的perform方法,这个方法结束之后会返回给控制组件一个 actionforward对象。控制组件接着从这个对象中获取下一个视图的路径和重定向属性。如果为重定向则调用HTTPSERVLETREPONSE的方法来显示下一个视图,否则相继调用requestdispatcher, SERVLETcontext的方法续传HTTP请求到下一个视图。  
9 7 3 1 2 3 4 5 4 8 :
〖友情连接〗

成都知道 朗沃教育(重庆天熙) 中国国学网 四川行业通 J2ME世界
Sun 中国程序员社区 成都博科购书网 人事部信产部653工程 国家信息产业部NCIE

点击咨询
杨老师
你好,咨询请点这里
韩老师
你好,咨询请点这里
李老师
你好,咨询请点这里
何老师
你好,咨询请点这里
欧阳老师
你好,咨询请点这里
张老师
你好,咨询请点这里