head	1.11;
access;
symbols;
locks
	nobody:1.11; strict;
comment	@# @;


1.11
date	99.10.12.21.58.05;	author nobody;	state Exp;
branches;
next	1.10;

1.10
date	99.08.13.19.44.21;	author nobody;	state Exp;
branches;
next	1.9;

1.9
date	99.05.07.18.11.36;	author nobody;	state Exp;
branches;
next	1.8;

1.8
date	99.05.04.19.05.45;	author nobody;	state Exp;
branches;
next	1.7;

1.7
date	99.04.20.15.36.58;	author nobody;	state Exp;
branches;
next	1.6;

1.6
date	99.04.16.23.04.39;	author nobody;	state Exp;
branches;
next	1.5;

1.5
date	99.04.07.18.26.37;	author nobody;	state Exp;
branches;
next	1.4;

1.4
date	99.04.07.18.24.39;	author nobody;	state Exp;
branches;
next	1.3;

1.3
date	99.04.07.12.35.04;	author nobody;	state Exp;
branches;
next	1.2;

1.2
date	99.04.07.12.33.07;	author nobody;	state Exp;
branches;
next	1.1;

1.1
date	99.04.07.12.32.21;	author nobody;	state Exp;
branches;
next	;


desc
@null
@


1.11
log
@null
@
text
@IDependOn-Set: 1
IDependOn-Set: 116
IDependOn-Set: 2
IDependOn-Set: 7
IDependOn-Set: 85
IDependOn-Set: 98
LastModifiedSecs: 939765485
Parent: 7
SequenceNumber: 5
Title: How do I chain Servlets in JServ ?
Part: 0
Author-Set: jon@@working-dogs.com
HideAttributions: 1
LastModifiedSecs: 923509560
Type: html
Lines: 3
This is not a feature of the Servlet API directly and thus will not be supported in Apache JServ because this servlet engine attempts to conform to the API specification as closely as possible.
<P>
You can think of this answer as the same reason why Apache doesn't support ASP pages directly.
EndPart: 0
Part: 1
Author-Set: jon@@working-dogs.com
HideAttributions: 1
LastModifiedSecs: 925844700
Type: 
Lines: 7
Apache JServ does not support servlet chaining -- thus, no references to it in the docs.  Many of
the current developers of Apache JServ feel that (besides not being mandated by the API spec),
servlet chaining is not a good design paradigm, so they are unlikely to add this feature.  However,
Apache JServ is open source, so anyone who wants to is welcome to download the code, add this
feature themselves, and propose it as an enhancement.

Craig McClanahan
EndPart: 1
Part: 2
Author-Set: jon@@working-dogs.com
HideAttributions: 1
LastModifiedSecs: 934573460
Type: monospaced
Lines: 16
----------
From: James Davidson <James.Davidson@@Eng.Sun.COM>
To: SERVLET-INTEREST@@JAVA.SUN.COM
Subject: Re: can anyone answer this?
Date: Fri, Aug 13, 1999, 12:25 PM

Servlet chaining is non-portable between servers -- it's not even part of the
servlet specification. Use request dispatchers instead, or better yet, refactor
your application.

Remember that servlets should be an "entry point" into your application -- just
like `public static void main(String[] args)`. You wouldn't call component
through their public static void main methods in most cases, why should your
servlets be any different? Food for thought.

.duncan
EndPart: 2
Part: 3
Author-Set: jon@@working-dogs.com
HideAttributions: 1
LastModifiedSecs: 939765485
Type: monospaced
Lines: 67


----------
From: "Craig McClanahan" <cmcclanahan@@mytownnet.com>
To: Java Apache Users <java-apache-users@@list.working-dogs.com>
Subject: Re: WAS: forcing apache to interpret <servlet> tags
Date: Tue, Oct 12, 1999, 2:47 PM

> > Anyhow is there a place talking about
> > why it is a bad idea and how to design a solution to solve the same type of
> > problem.
>
> servlet-feedback@@java.sun.com

For what it's worth, I'll describe some of the problems that I have with "servlet
chaining":

* The servlet API is fundamentally based on the request-response
  nature of the HTTP protocol.  Embedded in it are assumptions that
  make it easy to stay HTTP-compliant.  If you do things like chaining,
  you are going to have problems with these assumptions.  For example,
  what do you do with the headers from the earlier response?  Do you
  ignore them, do you combine them somehow?  Other considerations
  apply as well -- who is responsible for buffering the first response?
  What if the first response tries to do a sendRedirect()?  What do you
  do about query parameters?  Cookies?  It is not at all obvious that
  one can specify a standard that covers all of this in a manner that
  suits *all* possible users.

* Chaining encourages a design model that says "everything should
  be a servlet", even when that isn't necessary.  In many cases where
  servlet chaining looks appropriate, you can accomplish the same thing
  in other ways.  If you're going to post-process the output of a previous
  servlet, why make that one a servlet?  It could just as well output a
  DOM tree, or a bunch of Java objects that are formatted by the servlet
  based on the characteristics of the ultimate requestor.

* The desired behavior can be completely done at the application level
  (i.e. inside one of your servlets), with no help required by the API.  This
  is true even if the output you are post-processing really does come from
  a servlet -- all you need to do is mimic the basic lifecycle features of a
  servlet engine.  (By the way, this is essentially what a JSP engine does --
  and it needs no assistance from the servlet engine to do so.)

* The desired behavior tends to be application specific.  Generic APIs should
  provide the minimum common functionality that *everyone* needs.  Trying to
  do this for chaining is difficult because the needs vary.  This is the same
reason
  you don't see much direct support for caching in the API -- the number of
  different reasons that a particular servlet might decide to cache or not cache
  a particular response are staggering in number.

* Servlet chaining was first introduced by some engines (i.e. outside the API,
  both then and now) before it became clear where the API was headed.  A lot
  has been learned since then about proper designs for web-based apps.
  What you see today are a variety of architectural approaches (such as
  servlet-based frameworks like Dash, template systems like Webmacro and
  FreeMaker, and tag-oriented systems like JSP) that are better suited to the
  environment.  They all leverage the fundamental object-oriented nature of Java,

  and help you avoid the temptation built in to the old cliche:  "when you only
have
  a hammer, everything in the world looks like a nail."  Don't limit your
thinking by
  assuming that everything in a servlet-based app has to be a servlet.

Craig McClanahan
EndPart: 3
@


1.10
log
@null
@
text
@d7 1
a7 1
LastModifiedSecs: 934573460
d9 1
a9 1
SequenceNumber: 4
d58 74
@


1.9
log
@null
@
text
@d7 1
a7 1
LastModifiedSecs: 925844745
d9 1
a9 1
SequenceNumber: 3
d35 23
@


1.8
log
@null
@
text
@a22 1
DateOfPart: 1999-May-04 12:05pm
d24 2
@


1.7
log
@null
@
text
@d7 1
a7 1
LastModifiedSecs: 923509597
d9 1
a9 1
SequenceNumber: 2
d21 13
@


1.6
log
@null
@
text
@d2 1
@


1.5
log
@null
@
text
@a11 1
DateOfPart: 1999-Apr-07 11:26am
d13 1
@


1.4
log
@null
@
text
@d6 1
a6 1
LastModifiedSecs: 923509477
d8 1
a8 1
SequenceNumber: 1
d10 10
@


1.3
log
@null
@
text
@d2 3
a4 1
IDependOn-Set: 96
d6 2
a7 3
IDependOn-Set: trash
LastModifiedSecs: 923488503
Parent: trash
@


1.2
log
@null
@
text
@d2 1
a2 2
IDependOn-Set: 2
IDependOn-Set: 55
d4 3
a6 2
LastModifiedSecs: 923488387
Parent: 2
@


1.1
log
@null
@
text
@d3 1
d5 1
a5 1
LastModifiedSecs: 923488340
d7 2
a8 2
SequenceNumber: 0
Title: New Item
@
