Java™Servlet Speciﬁcation ("Speciﬁcation")Version: 2.2Status: Final ReleaseRelease: 12/17/99Copyright 1999 Sun Microsystems, Inc.901 San Antonio Road, Palo Alto, CA 94303, U.S.A.All rights reserved.NOTICE.This Speciﬁcation is protected by copyright and the information described herein may be protected by one or more U.S. patents,foreign patents, or pending applications. Except as provided under the following license, no part of this Speciﬁcation may bereproducedinanyformbyanymeanswithoutthepriorwrittenauthorizationofSunMicrosystems,Inc.(“Sun”)anditslicensors,ifany.Any use of this Speciﬁcation and the information described herein will be governed by these terms and conditions and the ExportControl and General Terms as set forth in Sun's website Legal Terms. By viewing, downloading or otherwise copying thisSpeciﬁcation, you agree that you have read, understood, and will comply with all the terms and conditions set forth herein.Sunherebygrantsyouafully-paid,non-exclusive,non-transferable,worldwide,limitedlicense(withouttherighttosublicense),underSun's intellectual property rights that are essential to practice this Speciﬁcation, to internally practice this Speciﬁcation solely for thepurpose of creating a clean room implementation of this Speciﬁcation that: (i) includes a complete implementation of the currentversion of this Speciﬁcation, without subsetting or supersetting; (ii) implements all of the interfaces and functionality of thisSpeciﬁcation, as deﬁned by Sun, without subsetting or supersetting; (iii) includes a complete implementation of any optionalcomponents (as deﬁned by Sun in this Speciﬁcation) which you choose to implement, without subsetting or supersetting; (iv)implements all of the interfaces and functionality of such optional components, without subsetting or supersetting; (v) does not addany additional packages, classes or interfaces to the "java.*" or "javax.*" packages or subpackages (or other packages deﬁned bySun); (vi) satisﬁes all testing requirements available from Sun relating to the most recently published version of this Speciﬁcation six(6)monthspriortoanyreleaseofthecleanroomimplementationorupgradethereto;(vii)doesnotderivefromanySunsourcecodeor binary code materials; and (viii) does not include any Sun source code or binary code materials without an appropriate andseparate license from Sun. This Speciﬁcation contains the proprietary information of Sun and may only be used in accordance withthe license terms set forth herein. This license will terminate immediately without notice from Sun if you fail to comply with anyprovision of this license. Sun may, at its sole option, terminate this license without cause upon ten (10) days notice to you. Upontermination of this license, you must cease use of or destroy this Speciﬁcation.TRADEMARKS.Noright,title,orinterestinortoanytrademarks,servicemarks,ortradenamesofSunorSun'slicensorsisgrantedhereunder.Sun,Sun Microsystems, the Sun logo, Java, Jini, JavaServer Pages, Enterprise JavaBeans, Java Compatible, JDK, JDBC, JavaBeans,JavaMail, Write Once, Run Anywhere, and Java Naming and Directory Interface are trademarks or registered trademarks of SunMicrosystems, Inc. in the U.S. and other countries.DISCLAIMER OF WARRANTIES.THIS SPECIFICATION IS PROVIDED "AS IS". SUN MAKES NO REPRESENTATIONS OR WARRANTIES, EITHER EXPRESS ORIMPLIED,INCLUDINGBUTNOTLIMITEDTO,WARRANTIESOFMERCHANTABILITY,FITNESSFORAPARTICULARPURPOSE,ORNON-INFRINGEMENTTHATTHECONTENTSOFTHESPECIFICATIONARESUITABLEFORANYPURPOSEORTHATANYPRACTICE OR IMPLEMENTATION OF SUCH CONTENTS WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS,TRADESECRETSOROTHERRIGHTS.Thisdocumentdoesnotrepresentanycommitmenttoreleaseorimplementanyportionofthis Speciﬁcation in any product.THIS SPECIFICATION COULD INCLUDE TECHNICAL INACCURACIES OR TYPOGRAPHICAL ERRORS. CHANGES AREPERIODICALLYADDEDTOTHEINFORMATIONHEREIN;THESECHANGESWILLBEINCORPORATEDINTONEWVERSIONSOF THE SPECIFICATION, IF ANY. SUN MAY MAKE IMPROVEMENTS AND/OR CHANGES TO THE PRODUCT(S) AND/OR THEPROGRAM(S)DESCRIBEDINTHISSPECIFICATIONATANYTIME.AnyuseofsuchchangesintheSpeciﬁcationwillbegovernedby the then-current license for the applicable version of the Speciﬁcation.LIMITATION OF LIABILITY.TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR ANY DAMAGES,INCLUDING WITHOUT LIMITATION, LOST REVENUE, PROFITS OR DATA, OR FOR SPECIAL, INDIRECT, CONSEQUENTIAL,INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISINGOUTOFORRELATEDTOANYFURNISHING,PRACTICING,MODIFYINGORANYUSEOFTHESPECIFICATION,EVENIFSUNAND/OR ITS LICENSORS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.You will indemnify, hold harmless, and defend Sun and its licensors from any claims arising or resulting from: (i) your use of theSpeciﬁcation;(ii)theuseordistributionofyourJavaapplication,appletand/orcleanroomimplementation;and/or(iii)anyclaimsthatlater versions or releases of any Speciﬁcation furnished to you are incompatible with the Speciﬁcation provided to you under thislicense.RESTRICTED RIGHTS LEGEND.