Programming Jakarta Struts, 2nd Edition [Electronic resources] نسخه متنی

اینجــــا یک کتابخانه دیجیتالی است

با بیش از 100000 منبع الکترونیکی رایگان به زبان فارسی ، عربی و انگلیسی

Programming Jakarta Struts, 2nd Edition [Electronic resources] - نسخه متنی

Chuck Cavaness

| نمايش فراداده ، افزودن یک نقد و بررسی
افزودن به کتابخانه شخصی
ارسال به دوستان
جستجو در متن کتاب
بیشتر
تنظیمات قلم

فونت

اندازه قلم

+ - پیش فرض

حالت نمایش

روز نیمروز شب
جستجو در لغت نامه
بیشتر
لیست موضوعات
توضیحات
افزودن یادداشت جدید








1.4 JSP Model 1 and Model 2 Architectures


The early JSP specifications presented two approaches for building
web applications using JSP technology. These two approaches were the
JSP
Model 1 and Model 2
architectures. Although these terms are no longer used in the JSP
specification, they still are widely used throughout the web tier
development community.

The two JSP architectures differ in several key areas. The major
difference is in how and by which component the processing of a
request is handled. With the Model 1 architecture, the JSP page
handles all of the processing of the request and is responsible for
displaying the output to the client. This is illustrated in Figure 1-3.


Figure 1-3. JSP Model 1 architecture

Notice that there is no servlet involved in the process. The client
request is sent directly to a JSP page, which may communicate with
JavaBeans or other services, but ultimately the JSP page selects the
next page for the client. The next view is determined based on either
the JSP selected or parameters within the client's
request.

In contrast, in the Model 2 architecture, the client request is first
intercepted by a servlet, commonly referred to as a
controller
servlet
. This servlet handles the initial processing of
the request and determines which JSP page to display next. This
approach is illustrated in Figure 1-4.


Figure 1-4. JSP Model 2 architecture

As shown in the figure, a client never sends a request directly to a
JSP page in the Model 2 architecture. This allows the servlet to
perform front-end processing, including authentication and
authorization, centralized logging, and help with
internationalization. Once request processing has completed, the
servlet directs the request to the appropriate JSP page. How the next
page is determined varies widely across different applications. For
example, in simpler applications, the next JSP page to display may be
hardcoded in the servlet based on the request, parameters, and
current application state. In more sophisticated web applications, a
workflow/rules engine might possibly be used.

As you can see, the main difference between the two approaches is
that the Model 2 architecture introduces a controller servlet that
provides a single point of entry and encourages more reuse and
extensibility than the Model 1 approach. With the Model 2
architecture, there is a clear separation of the business logic,
presentation output, and request processing. This separation is often
referred to as a Model-View-Controller
(MVC) pattern.

One of the key arguments against using the MVC approach is that it
seems overly complicated. While at first glance this might appear to
be true, using a MVC strategy can actually simplify application
design and construction. Web applications built using the Model 2
approach are generally easier to maintain often more extensible than
comparable applications built around the Model 1 architecture.


    / 181