1. 认识 struts2 !--圣思园Struts 2.2笔记

1,Struts2 基于 WebWork 和Struts 合并创建而成. 
2,依赖核心库xwork-core-2.2.1.1.jar.
3,使用表达式语言OGNL,以标签的方式更方便的在JSP中访问java实例中的各种属性,降低JSP中的JAVA代码量.
4,通常,Framework中都用一个“命令和控制”组件 “command and control component”.

5,通过基于请求响应(Request-Response)模式的应用Framework,基本上有如下几个表现逻辑结构组成。
控制器(Controller)——控制整个Framework中各个组件的协调工作。
业务逻辑层(Business Logic)——对Framework本身来说,这里仅仅只是概念和几个提供服务的基础组件,
真正的实现与客户的业务逻辑接轨,还需要开发人员在Framework上再次扩展。
数据逻辑层(Data Logic)——绝大多数应用系统都需要涉及到数据交互,这一层次主要包括了数据逻辑和数据访问接口

6,Struts2 有其自己的控制器 ( Controller ),同时整合了其他的一些技术去实现模型层(Model)和视图层(View)。
在模型层,Struts2 可以很容易的与数据访问技术相结合 ,包括 EJB,JDBC 等 。
在视图层,Struts2 能够与JSP,FreemarkerVelocity等模板引擎表示层组件相结合。

7,Struts有一组相互协作的类、Servlet以及Jsp TagLib组成。
基于Struts构架的web应用程序基本上符合JSP Model2的设计标准,可以说是MVC设计模式的一种变化类型。

8,MVC是Model-View-Controller 的简称,即模型-视图-控制器。 
MVC是一种设计模式,它把应用程序分成三个核心模块:模型、视图、控制器,它们各自处理自己的任务。 

        

首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理。
然后模型根据用户请求进行相应的业务逻辑处理,并返回数据。
最后控制器调用相应的视图格式化模型返回的数据,并通过视图呈现给用户。
这样一种模式便宜企业中多人协作开发项目。
横向开发:一个模块由一个人开发。
纵向开发:一个模块的不同层由不同开发人员开发。

9,mvc优点:★★★★★
首先,最重要的一点是多个视图能共享一个模型。同一个模型可以被不同的视图重用,大大提高了代码的可重用性
由于MVC的三个模块相互独立,改变其中一个不会影响其他两个,所以依据这种设计思想能构造良好的松耦合的构件。
此外,控制器提高了应用程序的灵活性和可配置性。控制器可以用来联接不同的模型和视图去完成用户的需求,
样控制器可以为构造应用程序提供强有力的手段
实现MVC会增加一定的工作量,如果是比较下的项目,就不需要实现MVC。当项目比较大,存在大量的JSP页面,
业务逻辑也很复杂时,使用MVC可以提高项目的健壮性,代码重用性,使代码的结构更清晰,易维护。

10,jsp model 1:将业务逻辑放到了JavaBean中.
        
11,jsp model 2
        
• JSP负责生成动态网页
• Servlet负责流程控制
• JavaBean负责业务逻辑

12,Struts与Web App的关系
– 既然struts 叫做web framework,那么其肯定主要基于web层的应用系统开发。按照J2EE Architecture 的标准 , struts 应当和jsp/servlet一样,存在于web container(比如 Tomcat)一层.

        

















posted @ 2014-02-15 20:46  龍變  阅读(322)  评论(0编辑  收藏  举报