免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 5063 | 回复: 10

Web application design with servlets and JSPs [复制链接]

论坛徽章:
0
发表于 2002-12-03 08:50 |显示全部楼层
Figure 256. Web application design overview
The major parts of such a design are discussed in the sequence of the flow of
the application.

Chapter 10 Web application design with servlets and JSPs

In this chapter we present a short overview of a guideline for designing Web
applications consisting of servlets, JSPs, and JavaBeans.
Application structure
The general structure of a well-architected user interaction in a Web
application is shown in Figure 256.

HTML page
The input page for each step is either a static HTML page or a dynamic
HTML page created from a previous step. The HTML page contains one or
multiple forms that invoke a servlet for processing of the next interaction.
Input data can be validated through JavaScript in the HTML page or passed
to the servlet for detailed validation.

Servlet
The servlet gets control from the Application Server to perform basic control
of flow. The servlet validates all the data, and returns to the browser if data
is incomplete or invalid.
For valid data, processing continues. The servlet sets up and calls command
beans that perform the business logic.
The servlet initializes the view beans and registers them with the request
block so that the JSPs can find the view beans.
Depending on the results of the command beans, the servlet calls a JSP for
output processing and formatting.

Command beans
Command beans control the processing of the business logic. Business logic
may be imbedded in the command bean, or the command bean delegates
processing to back-end or enterprise systems, such as relational databases,
transaction systems (CICS, MQSeries, IMS, and so forth).
A command bean may perform one specific function, or it may contain many
methods, each for a specific task. Command beans may be called Task
Wrappers in such a case.
Results of back-end processing are stored in data beans.

Data beans
Data beans hold the results of processing that was performed by the
command bean or by back-end systems. For example, a data bean could
contain an SQL result or the communication area of a CICS transaction.
Data beans may not provide the necessary methods for a JSP to access the
data&#59; that is where the view beans provide the function.

View beans
View beans provide the contract between the output producing JSPs and the
data beans that contain the dynamic data to be displayed in the output.
Each view bean contains one or multiple data beans and provides tailored
methods so that the JSP has access to the data stored in the data beans.

JSPs
The JSPs generate the output for the browser. In many cases that output
again contains forms to enable the user to continue an interaction with the
application.
JSPs use tags to declare the view beans. Through the view beans, the JSP
gets access to all the dynamic data that must be displayed in the output.


Model-View-Controller
This design follows the Model-View-Controller design pattern:
. The JSPs (and HTML pages) provide the view.
. The servlet is the controller.
. The command beans represent the model.
The data beans contain the data of the model, and the view beans are helper
classes to provide a data channel between the view and the model.
The servlet (controller) interacts with the model (the command beans) and
the view (the JSPs). The servlet controls the application flow.

论坛徽章:
0
发表于 2002-12-03 10:40 |显示全部楼层

Web application design with servlets and JSPs

It seems that there's no any Entity Bean here.oops,is Data Bean equal to Entity Bean.This is a naive question.^_^

论坛徽章:
0
发表于 2002-12-03 11:36 |显示全部楼层

Web application design with servlets and JSPs

In fact, this figure is just a logic view of the web application, not the physical one.

DataBean may not the Entity Bean, it is just java beans to transfer data from bussniss
logic (command bean) to view, so that it can be displayed in the jsp pages
DataBean reside in the View layer, not the Model layer
DataBean may not representate the record in database

Command Bean and Entity Bean reside in the Model Layer.
If you really want a Entity Bean, you may place it between Command Beans and the Database

Entity bean is responsed for mapping between java objects and records in database.

the Command bean is call "Command" just because you can you use Comand Design Pattern to
encapsulate operations to database such as addArticleCommand, DeleteArticleCommand

:)

论坛徽章:
0
发表于 2002-12-04 10:43 |显示全部楼层

Web application design with servlets and JSPs

斑竹is a well-catcher of J2ee blueprint!!!!!Envy!!!
BTW,according to what has been mentioned above,the command beans may be the LISTENER of the data beans??or on the contrary?I just wonder how the events are handled.Remember pls,I'm still amateur.^_^

论坛徽章:
0
发表于 2002-12-04 10:47 |显示全部楼层

Web application design with servlets and JSPs

In evidence,斑竹 must not be a ABC.^_^
But I wonder that : Is 斑竹 a
Chinese in California ????
maybe berkeley of California U?
:)

论坛徽章:
0
发表于 2002-12-04 10:52 |显示全部楼层

Web application design with servlets and JSPs

Though I have done some research on JavaBean (not ejb,just java component), I'm still working on J2EE,as a amateur.咳,没时间啊!人生短暂!     :em11:

论坛徽章:
0
发表于 2002-12-04 10:55 |显示全部楼层

Web application design with servlets and JSPs

斑竹可以give me a hand吗?
Much obliged!!!!     

论坛徽章:
0
发表于 2002-12-04 12:17 |显示全部楼层

Web application design with servlets and JSPs

Thanks.

Model Layer 处理业务逻辑,由两个部分组成:
Command Bean: 封装业务行为
Entity Bean : 封装业务数据

ArticleAccess 里面的方法就是业务行为,比如添加,删除,修改,查找 。
可以用 Command Design Pattern 优化它。

ArticleBean 就是一个 Entity Bean,表示数据库中 Article 表的一个记录
在简单的网站中,ActicleBean 也可以作为 DataBean 来使用,在网页之间传递数据


论坛徽章:
0
发表于 2002-12-04 14:45 |显示全部楼层

Web application design with servlets and JSPs

突然想起一d也:
JavaBean is different from EJB,at least the interfaces they implemented are essentially not the same,虽然它们都是component,那么斑竹上面说的DataBean是JavaBean,而它传输数据,那么是否可以说“在J2EE架构下,JavaBean和EJB可以混用谐调合作,实现商务逻辑”?

论坛徽章:
0
发表于 2002-12-04 15:01 |显示全部楼层

Web application design with servlets and JSPs

呵呵,JavaBean 用的地方太多了。
凡是符合 JavaBean 命名规则的类都叫 JavaBean。
Enterprise JavaBean 和 JavaBean 类似的地方好像只有 名字里都有 bean 了。

如果想了解 J2EE 的结构,编写好 J2EE 的结构,去看看两个文档:
J2EE Blue Print
http://java.sun.com/blueprints/

Core J2EE Patterns
http://java.sun.com/blueprints/corej2eepatterns/Patterns/

上面说的 Command Bean 与数据库访问就是用的 DAO Pattern
http://java.sun.com/blueprints/corej2eepatterns/Patterns/DataAccessObject.html

:)
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP