CSDN博客

img xlhacoo

对一个Java FrameWork的分析(一)

发表于2004/7/4 17:00:00  3007人阅读

最近在做的一个项目,使用的一个Java FrameWork感觉上对于大型项目非常适用,现在就本人的一点使用经验和几个月来对这个FrameWork的了解,概括的向大家介绍一下这个FrameWork

整个FrameWork使用J2EE技术,其实核心思想还是MVC,目前来说使用MVC思想的FrameWork非常多,最流行的应该是Apache公司推出的Struts,但是Struts整体只分三层:ViewControllerModel,这是完全符合MVC思想的一个FrameWork。其实Struts使用到现在反映很好,许多大中型项目都在用它,譬如一些大型的ERP项目也在使用它,但是我个人觉得Struts对于整个应用程序体系来说还不是很清晰,也就是说虽然它使用MVC思想,也明确了MVC的一些体系结构,实现了ViewControllerModel这三层,但是在一些具体的细节上还是比较模糊的,就拿StrutsAction来说,Action里面包含了太多的业务逻辑,使得整个应用程序思路不是很清晰。那有没有更清晰的FrameWork能够弥补这个缺陷呢?

我们可以把ViewControllerModel这三层分的更细,分成五层,如下图:

1HP FrameWork的五层结构

1、  Presentation这一层主要是负责View这一层,也就是说这一层主要是和客户打交道,所有的Client管理都在这一层。(关于详细分析见后)

2、  Application这一层主要分成两层:HtmlActionEJBActionHtmlAction是简单的处理Client传递过来的数据,然后把处理后的数据通过一个Event包装传递给EJBActionEJBAction再调用ServiceBean的方法处理业务逻辑,然后把返回Client的数据再原路返回到Client。在这一层要抛出很多的Exception,保证传到ServiceBean里的数据是正确的。(关于详细分析见后)

3、  Services 这一层包含了整个应用程序的业务逻辑,也就是说所有的数据从EJBAction传递过来后,只是正确的数据,但是否是有效的数据,还得在ServiceBean里进行处理,ServiceBean对业务数据的处理后若要对数据库存储数据则要调用EntityBean,若只是查询数据则调用DAO方法。(关于详细分析见后)

4、  Domain这一层主要是EntityBean。(关于详细分析见后)

5、  Persistence 这一层是主要与数据库进行交互的一层,所有的数据增删改或存储过程都在这一层实现。(关于详细分析见后)

1.1 Presentation

   这一层是view层,主要使用了JSTLJavaScriptHtml等技术,其实对于B/S结构的应用程序开发,Client开发使用这三种语言就绰绰有余了,足以应付所有的需求。

  JSTLSun公司开发的标签库,比起在JSP页面中使用Java语言,JSTL使得程序简单可读性增强,这对应用程序的维护提供了方便性。

Jar包库里必须引入jstl.jar

在程序中我们只要引入上面那两条标签库就可以使JSP支持JSTL标签库了。

在程序中WEB模块的目录结构如图所示:

所有的JSP页面按模块放好,所有的web模块所需要的东西都在docroot目录下:

很多的XML配置文件都放在docroot/web-inf目录下,对于客户端的一个JSP页面就是一个Screen,必须在screendefinitions_en_US.xml文件中,所有的*.do跳转都必须定义在Mapping.xml文件里具体的定义见下图。

这是定义的Screen文件:

定义的*.do文件:

所有的WEB层的需要的东西,如上所说,下面分析Application层。

0 0

相关博文

我的热门文章

img
取 消
img