PK 9 META-INF/PK 9G/ffMETA-INF/MANIFEST.MFManifest-Version: 1.0 Ant-Version: Apache Ant 1.7.1 Created-By: 10.0-b19 (Sun Microsystems Inc.) PK r9WEB-INF/PK 49WEB-INF/classes/PK 49#WEB-INF/classes/compressionFilters/PK 49WEB-INF/classes/filters/PK 49WEB-INF/classes/listeners/PK 49WEB-INF/classes/util/PK 49images/PK 49)WEB-INF/classes/.netbeans_automatic_buildPK 49^#WEB-INF/classes/CookieExample.class1 <^_ `a ;bc de dfg hijkl `mn ^o pq rstuvwxyz {|}~ * h * { * d ;rbLjava/util/ResourceBundle;()VCodeLineNumberTableLocalVariableTablethisLCookieExample;doGetR(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)VcookieLjavax/servlet/http/Cookie;iIrequest'Ljavax/servlet/http/HttpServletRequest;response(Ljavax/servlet/http/HttpServletResponse;outLjava/io/PrintWriter;titleLjava/lang/String;cookies[Ljavax/servlet/http/Cookie; cookieName cookieValue ExceptionsdoPost SourceFileCookieExample.java ?@ LocalStrings => text/html   cookies.title java/lang/StringBuilder ��� Zview codeYreturn



 cookies.cookies
 Cookie Name:   Cookie Value: 

cookies.no-cookies cookiename  cookievaluejavax/servlet/http/Cookie ? 

 cookies.set cookies.name  cookies.valuecookies.make-cookie

/
0

 FG CookieExamplejavax/servlet/http/HttpServletjava/io/IOExceptionjavax/servlet/ServletExceptionjava/util/ResourceBundle getBundle.(Ljava/lang/String;)Ljava/util/ResourceBundle;&javax/servlet/http/HttpServletResponsesetContentType(Ljava/lang/String;)V getWriter()Ljava/io/PrintWriter;java/io/PrintWriterprintln getString&(Ljava/lang/String;)Ljava/lang/String;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;%javax/servlet/http/HttpServletRequest getCookies()[Ljavax/servlet/http/Cookie;getNameutil/HTMLFilterfilterprintgetValue getParameter'(Ljava/lang/String;Ljava/lang/String;)V addCookie(Ljavax/servlet/http/Cookie;)V!;<=>?@A<**B "$C DEFGA c,,N- - - * :-Y - - - - - - -Y +:-Y*  6V2:-Y !"-Y#$!% -*& +'(:+)(:*Y+:,,-- -Y*.  -Y*/ 0!"-Y*1 0!"-- -Y*2  -3"-4 -Y*/ 0"-5 -Y*1 0"-6 -7 -8 -9 B,*,-./!1,2I3O4U<[=a?g@mCEFGHIJLHQ*T4U>VHWUX]YcZ[]abcde%f+gJhPiVl\mbnCp FHI[JKUHIcDEcLMcNOTPQ,7RSTU4/VS>%WSXYZ[GAI*+,:B tuC DELMNOXYZ\]PK 49]r  'WEB-INF/classes/HelloWorldExample.class1m 78 9: ;<= >? >@A BCDE ;FG 7H IJ KLMNOPQRSTUVW()VCodeLineNumberTableLocalVariableTablethisLHelloWorldExample;doGetR(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)Vrequest'Ljavax/servlet/http/HttpServletRequest;response(Ljavax/servlet/http/HttpServletResponse;rbLjava/util/ResourceBundle;outLjava/io/PrintWriter;titleLjava/lang/String; ExceptionsXY SourceFileHelloWorldExample.java   LocalStringsZ [\] ^_ text/html` ab cde fbhelloworld.title ghjava/lang/StringBuilder �i�j� klZview codeYreturn



HelloWorldExamplejavax/servlet/http/HttpServletjava/io/IOExceptionjavax/servlet/ServletException%javax/servlet/http/HttpServletRequest getLocale()Ljava/util/Locale;java/util/ResourceBundle getBundle@(Ljava/lang/String;Ljava/util/Locale;)Ljava/util/ResourceBundle;&javax/servlet/http/HttpServletResponsesetContentType(Ljava/lang/String;)V getWriter()Ljava/io/PrintWriter;java/io/PrintWriterprintln getString&(Ljava/lang/String;)Ljava/lang/String;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;! !/*" # $%&'!C+N,,:  - : Y        Y   "F' )*,#-*/21P2W3^>e?lAsBzDEFG#>$%()*+ ,-./2u0123456PK 49F88'WEB-INF/classes/LocalStrings.properties# Copyright 2004 The Apache Software Foundation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # $Id$ # Default localized resources for example servlets # This locale is en_US helloworld.title=Hello World! requestinfo.title=Request Information Example requestinfo.label.method=Method: requestinfo.label.requesturi=Request URI: requestinfo.label.protocol=Protocol: requestinfo.label.pathinfo=Path Info: requestinfo.label.remoteaddr=Remote Address: requestheader.title=Request Header Example requestparams.title=Request Parameters Example requestparams.params-in-req=Parameters in this request: requestparams.no-params=No Parameters, Please enter some requestparams.firstname=First Name: requestparams.lastname=Last Name: cookies.title=Cookies Example cookies.cookies=Your browser is sending the following cookies: cookies.no-cookies=Your browser isn't sending any cookies cookies.make-cookie=Create a cookie to send to your browser cookies.name=Name: cookies.value=Value: cookies.set=You just sent the following cookie to your browser: sessions.title=Sessions Example sessions.id=Session ID: sessions.created=Created: sessions.lastaccessed=Last Accessed: sessions.data=The following data is in your session: sessions.adddata=Add data to your session sessions.dataname=Name of Session Attribute: sessions.datavalue=Value of Session Attribute: PK 49F88*WEB-INF/classes/LocalStrings_en.properties# Copyright 2004 The Apache Software Foundation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # $Id$ # Default localized resources for example servlets # This locale is en_US helloworld.title=Hello World! requestinfo.title=Request Information Example requestinfo.label.method=Method: requestinfo.label.requesturi=Request URI: requestinfo.label.protocol=Protocol: requestinfo.label.pathinfo=Path Info: requestinfo.label.remoteaddr=Remote Address: requestheader.title=Request Header Example requestparams.title=Request Parameters Example requestparams.params-in-req=Parameters in this request: requestparams.no-params=No Parameters, Please enter some requestparams.firstname=First Name: requestparams.lastname=Last Name: cookies.title=Cookies Example cookies.cookies=Your browser is sending the following cookies: cookies.no-cookies=Your browser isn't sending any cookies cookies.make-cookie=Create a cookie to send to your browser cookies.name=Name: cookies.value=Value: cookies.set=You just sent the following cookie to your browser: sessions.title=Sessions Example sessions.id=Session ID: sessions.created=Created: sessions.lastaccessed=Last Accessed: sessions.data=The following data is in your session: sessions.adddata=Add data to your session sessions.dataname=Name of Session Attribute: sessions.datavalue=Value of Session Attribute: PK 49yc(^^*WEB-INF/classes/LocalStrings_es.properties# Copyright 2004 The Apache Software Foundation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # $Id$ # # Default localized string information # Localized para Locale es_ES helloworld.title=Hola Mundo! requestinfo.title=Ejemplo de Informacion de Request requestinfo.label.method=Metodo: requestinfo.label.requesturi=Request URI: requestinfo.label.protocol=Protocolo: requestinfo.label.pathinfo=Path Info: requestinfo.label.remoteaddr=Direccion Remota: requestheader.title=Ejemplo de Cabecera de Request requestparams.title=Ejemplo de parametros de Request requestparams.params-in-req=Parametros en este Request: requestparams.no-params=No hay parametro. por favor usa alguno requestparams.firstname=Nombre: requestparams.lastname=Apellidos: cookies.title=Ejemplo de Cookies cookies.cookies=Tu navegador esta enviando los siguientes cookies: cookies.no-cookies=Tu navegador no esta enviando cookies cookies.make-cookie=Crea un cookie para enviarlo a tu navegador cookies.name=Nombre: cookies.value=Valor: cookies.set=Acabas de enviar a tu navegador estos cookies: sessions.title=ejemplo de Sesiones sessions.id=ID de Sesion: sessions.created=Creado: sessions.lastaccessed=Ultimo Acceso: sessions.data=Lo siguientes datos estan en tu sesion: sessions.adddata=Aade datos a tu sesion: sessions.dataname=Nombre del atributo de sesion: sessions.datavalue=Valor del atributo de sesion: PK 49v*WEB-INF/classes/LocalStrings_fr.properties# Copyright 2004 The Apache Software Foundation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # $Id$ # Default localized resources for example servlets # This locale is fr_FR helloworld.title=Salut le Monde! requestinfo.title=Exemple d''information sur la requte requestinfo.label.method=Mthode: requestinfo.label.requesturi=URI de requte: requestinfo.label.protocol=Protocole: requestinfo.label.pathinfo=Info de chemin: requestinfo.label.remoteaddr=Adresse distante: requestheader.title=Exemple d''information sur les entte de requte requestparams.title=Exemple de requte avec paramtres requestparams.params-in-req=Paramtres dans la requte: requestparams.no-params=Pas de paramtre, merci dans saisir quelqu'uns requestparams.firstname=Prnom: requestparams.lastname=Nom: cookies.title=Exemple d''utilisation de Cookies cookies.cookies=Votre navigateur retourne les cookies suivant: cookies.no-cookies=Votre navigateur ne retourne aucun cookie cookies.make-cookie=Cration d''un cookie retourner votre navigateur cookies.name=Nom: cookies.value=Valeur: cookies.set=Vous venez d''envoyer le cookie suivant votre navigateur: sessions.title=Exemple de Sessions sessions.id=ID de Session: sessions.created=Cre le: sessions.lastaccessed=Dernier accs: sessions.data=Les donnes existantes dans votre session: sessions.adddata=Ajouter des donnes votre session sessions.dataname=Nom de l''Attribut de Session: sessions.datavalue=Valeur de l''Attribut de Session: PK 49l l *WEB-INF/classes/RequestHeaderExample.class1 )GH IJ (KL MN MOP QRSTU IVW GX YZ [\]^_`abcd ef gh gij ekl mnopq (rstrbLjava/util/ResourceBundle;()VCodeLineNumberTableLocalVariableTablethisLRequestHeaderExample;doGetR(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V headerNameLjava/lang/String; headerValuerequest'Ljavax/servlet/http/HttpServletRequest;response(Ljavax/servlet/http/HttpServletResponse;outLjava/io/PrintWriter;titleeLjava/util/Enumeration; ExceptionsuvdoPost SourceFileRequestHeaderExample.java ,- LocalStringsw xy *+ text/htmlz {| }~ |requestheader.title java/lang/StringBuilder ��� Zview codeYreturn



  java/lang/String 
  
34RequestHeaderExamplejavax/servlet/http/HttpServletjava/io/IOExceptionjavax/servlet/ServletExceptionjava/util/ResourceBundle getBundle.(Ljava/lang/String;)Ljava/util/ResourceBundle;&javax/servlet/http/HttpServletResponsesetContentType(Ljava/lang/String;)V getWriter()Ljava/io/PrintWriter;java/io/PrintWriterprintln getString&(Ljava/lang/String;)Ljava/lang/String;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;%javax/servlet/http/HttpServletRequestgetHeaderNames()Ljava/util/Enumeration;java/util/EnumerationhasMoreElements()Z nextElement()Ljava/lang/Object; getHeaderutil/HTMLFilterfilter!()*+,-.<**/ "$0 1234.,,N- - - * :-Y - - - - - - -Y - +:@ :+!:-" -# -$ -# -% -& /n*,-./!1,2I3O4U<[=a?g@mCDEFGHIJKLMNOP0R.56$761289:;<=,>6N?@ABCD4.I*+,'/ VW0 1289:;ABCEFPK 49A (WEB-INF/classes/RequestInfoExample.class1 4OP QR 3ST UV UWX YZ[\] Q^_ O` ab cdefghijklmn opqr os tuv owx oyz{ o|} o~ Y 3rbLjava/util/ResourceBundle;()VCodeLineNumberTableLocalVariableTablethisLRequestInfoExample;doGetR(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)Vrequest'Ljavax/servlet/http/HttpServletRequest;response(Ljavax/servlet/http/HttpServletResponse;outLjava/io/PrintWriter;titleLjava/lang/String; cipherSuite ExceptionsdoPost SourceFileRequestInfoExample.java 78 LocalStrings 56 text/html  requestinfo.title java/lang/StringBuilder ��� Zview codeYreturn




requestinfo.label.method  
requestinfo.label.requesturi  requestinfo.label.protocol requestinfo.label.pathinfo requestinfo.label.remoteaddr"javax.servlet.request.cipher_suite java/lang/String 
SSLCipherSuite: >?RequestInfoExamplejavax/servlet/http/HttpServletjava/io/IOExceptionjavax/servlet/ServletExceptionjava/util/ResourceBundle getBundle.(Ljava/lang/String;)Ljava/util/ResourceBundle;&javax/servlet/http/HttpServletResponsesetContentType(Ljava/lang/String;)V getWriter()Ljava/io/PrintWriter;java/io/PrintWriterprintln getString&(Ljava/lang/String;)Ljava/lang/String;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;%javax/servlet/http/HttpServletRequest getMethod getRequestURIutil/HTMLFilterfilter getProtocol getPathInfo getAttribute&(Ljava/lang/String;)Ljava/lang/Object; getRemoteAddr(Ljava/lang/Object;)V!3456789<**: "%; <=>?9,,N- - - * :-Y - - - - - - -Y - -* - -+ - -*! - -+"# - -*$ - -+% - -*& - -+'# - -*( +)*+:- -+, -- -- -. -/ -0 -+)*1-/ :,+-./0!2,3I4O5U>[?aAgBmEFGHIJKLMNOPQRS TUV"W/Y<[B\L]R_W`]acbicod{eh;><=@ABCsDE,VFG<FHGIJKL?9I*+,2: no; <=@ABCIJKMNPK 492 )WEB-INF/classes/RequestParamExample.class1 3OP QR 2ST UV UWX YZ[\] Q^_ O` ab cdefghijkl mnopqrs tuvwxy Yz{|}~ 2rbLjava/util/ResourceBundle;()VCodeLineNumberTableLocalVariableTablethisLRequestParamExample;doGetR(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)Vrequest'Ljavax/servlet/http/HttpServletRequest;response(Ljavax/servlet/http/HttpServletResponse;outLjava/io/PrintWriter;titleLjava/lang/String; firstNamelastName ExceptionsdoPost SourceFileRequestParamExample.java 67 LocalStrings 45 text/html  requestparams.title java/lang/StringBuilder ��� Zview codeYreturn



 firstname lastnamerequestparams.params-in-req
requestparams.firstname =  requestparams.lastnamerequestparams.no-params



('
 =>RequestParamExamplejavax/servlet/http/HttpServletjava/io/IOExceptionjavax/servlet/ServletExceptionjava/util/ResourceBundle getBundle.(Ljava/lang/String;)Ljava/util/ResourceBundle;&javax/servlet/http/HttpServletResponsesetContentType(Ljava/lang/String;)V getWriter()Ljava/io/PrintWriter;java/io/PrintWriterprintln getString&(Ljava/lang/String;)Ljava/lang/String;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;%javax/servlet/http/HttpServletRequest getParameterutil/HTMLFilterfilterprint!2345678<**9 "%: ;<=>8,,N- - - * :-Y - - - - - - -Y +:+:-Y*   [-*! -Y"#  -*$ -Y"# -*% -& -'(-)(-* -*! -+ - -*$ -, - -- -. -/ -0 9&+-./0!2,3I4O5U?[@aBgCmFGHIJKLMNP,R2S8T>UDVQWWX]YjZp[v\|]_`a:H;<?@ABCD,cEFGFHFIJKL>8I*+,19 gh: ;<?@ABIJKMNPK 49$WEB-INF/classes/SessionExample.class1 Lno pq Krs tu tvw xyz{| p}~ n     "  x     x t KrbLjava/util/ResourceBundle;()VCodeLineNumberTableLocalVariableTablethisLSessionExample;doGetR(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)VnameLjava/lang/String;valuerequest'Ljavax/servlet/http/HttpServletRequest;response(Ljavax/servlet/http/HttpServletResponse;outLjava/io/PrintWriter;titlesession Ljavax/servlet/http/HttpSession;dataName dataValuenamesLjava/util/Enumeration; ExceptionsdoPost SourceFileSessionExample.java OP LocalStrings MN text/html  sessions.title java/lang/StringBuilder ��� Zview codeYreturn



  sessions.id  
sessions.createdjava/util/Date O sessions.lastaccessed dataname  datavalue 

 sessions.data  java/lang/String   = 

sessions.dataname'sessions.datavalue(


GET based form:
 method=GET>

URL encoded  VWjavax/servlet/http/HttpServletjava/io/IOExceptionjavax/servlet/ServletExceptionjava/util/ResourceBundle getBundle.(Ljava/lang/String;)Ljava/util/ResourceBundle;&javax/servlet/http/HttpServletResponsesetContentType(Ljava/lang/String;)V getWriter()Ljava/io/PrintWriter;java/io/PrintWriterprintln getString&(Ljava/lang/String;)Ljava/lang/String;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;%javax/servlet/http/HttpServletRequest getSession#(Z)Ljavax/servlet/http/HttpSession;javax/servlet/http/HttpSessiongetIdgetCreationTime()J(J)V-(Ljava/lang/Object;)Ljava/lang/StringBuilder;getLastAccessedTime(Ljava/lang/Object;)V getParameter setAttribute'(Ljava/lang/String;Ljava/lang/Object;)VgetAttributeNames()Ljava/util/Enumeration;java/util/EnumerationhasMoreElements()Z nextElement()Ljava/lang/Object; getAttribute&(Ljava/lang/String;)Ljava/lang/Object;java/lang/Objectutil/HTMLFilterfilterprint encodeURL!KLMNOPQ<**R "$S TUVWQg ,,N- - - * :-Y - - - - - - -Y +:-Y*  - -Y*!  -Y"Y#$%  -Y*&  -"Y'$(+)*:++*:,-- -Y*.   /:0H12:  34: -Y 56 5  -- -78-,9:8-;8-< -*= -> - -*? -@ - -A -B -C -78-,9:8-;8-D -*= -> - -*? -@ - -A -B -E8-,F:8-G -H -I -H -I RC*,-./!1,2I3O4U=[>a@gAmDFGHIJK$L6N@OJPTQ_TeUVWXYZ\^_`abc def&g,h2i8j>lDmJnVo\pbqorus{tuvwxz{|~Sp 6XY (ZY TU[\]^_`,aY>bc@dYJeYDfghijkWQI*+,JR S TU[\]^hijlmPK 49:WEB-INF/classes/compressionFilters/CompressionFilter.class1 0^ /_ /` /a7 bc de6 /f ghi ^j k l m nopqr stuv wx yz "{|} ~   " ( ( ( ( /configLjavax/servlet/FilterConfig; minThresholdIcompressionThresholddebug()VCodeLineNumberTableLocalVariableTablethis&LcompressionFilters/CompressionFilter;init(Ljavax/servlet/FilterConfig;)VvalueLjava/lang/String;str filterConfigdestroydoFilter[(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)VnameseLjava/util/Enumeration;wrappedResponse6LcompressionFilters/CompressionServletResponseWrapper;requestLjavax/servlet/ServletRequest;responseLjavax/servlet/ServletResponse;chainLjavax/servlet/FilterChain;supportCompressionZ ExceptionssetFilterConfiggetFilterConfig()Ljavax/servlet/FilterConfig; SourceFileCompressionFilter.java 89 23 45 75  65 java/lang/StringBuilder?compressionThreshold should be either 0 - no compression or >=  compressionThreshold set to  @doFilterJdoFilter gets called, but compressionTreshold is set to 0 - no compression F%javax/servlet/http/HttpServletRequest requestURI = gzip false >got parameter gzip=false --> don't compress, just chain filterAccept-Encoding  java/lang/String supports compressionno support for compresion#doFilter gets called wo compression&javax/servlet/http/HttpServletResponse4compressionFilters/CompressionServletResponseWrapper 8 %doFilter gets called with compression 9 ?@$compressionFilters/CompressionFilterjava/lang/Objectjavax/servlet/Filterjava/io/IOExceptionjavax/servlet/ServletExceptionjavax/servlet/FilterConfiggetInitParameter&(Ljava/lang/String;)Ljava/lang/String;java/lang/IntegerparseInt(Ljava/lang/String;)Ijava/lang/SystemoutLjava/io/PrintStream;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;(I)Ljava/lang/StringBuilder;toString()Ljava/lang/String;java/io/PrintStreamprintln(Ljava/lang/String;)Vjavax/servlet/FilterChain@(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V getRequestURI getParameterequals(Ljava/lang/Object;)Z getHeaders+(Ljava/lang/String;)Ljava/util/Enumeration;java/util/EnumerationhasMoreElements()Z nextElement()Ljava/lang/Object;indexOf+(Ljavax/servlet/http/HttpServletResponse;)V setDebugLevel(I)VsetCompressionThresholdfinishResponse!/012345657589:L****;(. 3>< =>?@:1*+++M,*,*+N-g*- * ]* *R*; Y  * Y *** * * ;JHI JKL!N&P/Q3R;SMTTUpVX[^_b<*AB/mCB=>D3E9:4*; ik< =>FG: T* * * -+,6+*$ Y ++:* -+,+: A!":#* $6* %* &-+,,'M(Y,'):*** +* ,-+- :-7@HHJH;,%-.18@anx (/7@EHRS<\ /HBnwIBHJK=LMT=>TNOTPQTRS1#TUVWXY@:>*+.; <=>D3Z[:/*;< =>\]PK 49*[EWEB-INF/classes/compressionFilters/CompressionFilterTestServlet.class1U + ,-. ,/0 12 34 356 789 :;<= 7>?@()VCodeLineNumberTableLocalVariableTablethis1LcompressionFilters/CompressionFilterTestServlet;doGetR(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)VnameLjava/lang/String;request'Ljavax/servlet/http/HttpServletRequest;response(Ljavax/servlet/http/HttpServletResponse;out#Ljavax/servlet/ServletOutputStream;eLjava/util/Enumeration; ExceptionsAB SourceFile!CompressionFilterTestServlet.java C DE text/plain FGAccept-EncodingH IJK LM NOjava/lang/StringP QGgzip RS"gzip supported -- able to compressgzip not supportedCompression Filter Test Servlet T/compressionFilters/CompressionFilterTestServletjavax/servlet/http/HttpServletjavax/servlet/ServletExceptionjava/io/IOException&javax/servlet/http/HttpServletResponsegetOutputStream%()Ljavax/servlet/ServletOutputStream;setContentType(Ljava/lang/String;)V%javax/servlet/http/HttpServletRequest getHeaders+(Ljava/lang/String;)Ljava/util/Enumeration;java/util/EnumerationhasMoreElements()Z nextElement()Ljava/lang/Object;!javax/servlet/ServletOutputStreamprintlnindexOf(Ljava/lang/String;)Iclose!/* ],N,+:2 :-   - - - -6 $%'(#)/*5+@,I/O1R4X5\6>/ ]]] !V"#D$%&'()*PK 49ʌhhBWEB-INF/classes/compressionFilters/CompressionResponseStream.class1 9c 8d 8e 8f 8g 8h 8i 8j 8k 8l mn opq cr s t u vwxyz { 8| 5}~ v v 9 9} 5 8 8 o m 5 5compressionThresholdIdebugbuffer[B bufferCount gzipstream Ljava/util/zip/GZIPOutputStream;closedZlengthresponse(Ljavax/servlet/http/HttpServletResponse;output#Ljavax/servlet/ServletOutputStream;+(Ljavax/servlet/http/HttpServletResponse;)VCodeLineNumberTableLocalVariableTablethis.LcompressionFilters/CompressionResponseStream; Exceptions setDebugLevel(I)V setBuffer thresholdclose()Vflush flushToGZipwriteb([B)V([BII)Vofflen writeToGZip()Z SourceFileCompressionResponseStream.java IV :; <; => ?; @A BC D; EF GH  java/lang/StringBuilderbuffer is set to  #close() @ CompressionResponseStreamjava/io/IOException*This output stream has already been closed I XV UV output.write( Y\)#flush() @ CompressionResponseStream#Cannot flush a closed output stream WV)flushToGZip() @ CompressionResponseStream*flushing out to GZipStream, bufferCount = _\write  in CompressionResponseStream &Cannot write to a closed output streamwrite, bufferCount =  len =  off = write( writeToGZip, len =  writeToGZip(new GZIPOutputStreamContent-Encodinggzip java/util/zip/GZIPOutputStream I,compressionFilters/CompressionResponseStream!javax/servlet/ServletOutputStream&javax/servlet/http/HttpServletResponsegetOutputStream%()Ljavax/servlet/ServletOutputStream;java/lang/SystemoutLjava/io/PrintStream;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;(I)Ljava/lang/StringBuilder;toString()Ljava/lang/String;java/io/PrintStreamprintln(Ljava/lang/String;)Vprint arraycopy*(Ljava/lang/Object;ILjava/lang/Object;II)V addHeader'(Ljava/lang/String;Ljava/lang/String;)V(Ljava/io/OutputStream;)V!89 :;<;=>?;@ABCD;EFGH IJKF********* * **+ *+  L:0? DINSX"^'c,h1162;3E5MFNOFEFPQRK>*L qrMNO<;SRKx4**** Y*Lyz{|3~M4NO4T;UVK* * Y****F*?*"  ** * **** *LJ!(,3;BJRaiy~M NOPWVKr0*  * Y!* *"L!(/M 0NOPXVKN* #*9* Y$****%*L";HMM NNOPYRKZ*! Y&'* Y(*****YZ`TL"&-7CGYMZNOZZ;PY[KA *++)L M NO Z>PY\K_*1 Y**+,* - + * Y(**d+**.*Y`***d+**.*Y`*+%LV6>FOW^hlm{  M*NOZ>];^;P_\K* Y/* 0 + */* 1* 234*5Y* 6*+7L6 ! )!1":#B%I&Q'Y)f*u,.M*NOZ>];^;PB`K/*L9M NOabPK 49NJWEB-INF/classes/compressionFilters/CompressionServletResponseWrapper.class1 3h 2i 2j 2k 2l 2m 2n opq rst uv w x yz{ |}~ h   (    2  y ) ( (   origResponse(Ljavax/servlet/http/HttpServletResponse;infoLjava/lang/String; ConstantValuestream#Ljavax/servlet/ServletOutputStream;writerLjava/io/PrintWriter; thresholdIdebug contentType+(Ljavax/servlet/http/HttpServletResponse;)VCodeLineNumberTableLocalVariableTablethis6LcompressionFilters/CompressionServletResponseWrapper;responsesetContentType(Ljava/lang/String;)VsetCompressionThreshold(I)V setDebugLevelcreateOutputStream%()Ljavax/servlet/ServletOutputStream;.LcompressionFilters/CompressionResponseStream; ExceptionsfinishResponse()VeLjava/io/IOException; flushBuffergetOutputStream getWriter()Ljava/io/PrintWriter;charEncsetContentLengthlengthgetCharsetFromContentType&(Ljava/lang/String;)Ljava/lang/String; afterCharsetencodingtypesemi afterSemicharsetLocation SourceFile&CompressionServletResponseWrapper.java BC 45 :; <= >? @? A7 9CompressionServletResponseWrapper constructor gets called Kjava/lang/StringBuilder BTsetContentType to  JKsetCompressionThreshold to createOutputStream gets called,compressionFilters/CompressionResponseStream NM M Tjava/io/IOException0flush buffer @ CompressionServletResponseWrapper Tjava/lang/IllegalStateException5getWriter() has already been called for this response BK OPstream is set to  in getOutputStream;getOutputStream() has already been called for this response in getWriter character encoding is java/io/PrintWriterjava/io/OutputStreamWriter B B B; charset= 4compressionFilters/CompressionServletResponseWrapper-javax/servlet/http/HttpServletResponseWrapper!CompressionServletResponseWrapperjava/lang/SystemoutLjava/io/PrintStream;java/io/PrintStreamprintlnappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;&javax/servlet/http/HttpServletResponse(I)Ljava/lang/StringBuilder; setBufferclose!javax/servlet/ServletOutputStreamflush-(Ljava/lang/Object;)Ljava/lang/StringBuilder;getCharacterEncoding+(Ljava/io/OutputStream;Ljava/lang/String;)V(Ljava/io/Writer;)V(Ljava/io/OutputStream;)Vjava/lang/StringindexOf(Ljava/lang/String;)I substring(I)Ljava/lang/String;trim!23456789:;<=>?@?A7 BCD9*+*******+*  E. 3A NV[`e#4(50688F9GH9I5JKDu1* Y  + *+*+Eno!q&r0sF1GH1A7LMDg'* Y  *Ez{!}&~F'GH'>?NMD>*E FGH@?OPDv.*  Y*L+*+*+E$,F.GH:QRSTDx$* ** *L"E"#F#UV$GHWTDQ*  *EF GHRXPDN* Y* ** *$ Y !*"# *E (IF NGHRYZD*** Y$** *$ Y !*"% *&L* Y '+ +*(Y)Y*+*+*(Y*,*E: %-NX`y}FGHXS[7R\MD5EFGH]? ^_D>**-.<*`/M,0.>,`/:1:E2    # ( *4;F>4 `7;a7>b7 1c?"d7#e?fgPK 49   +WEB-INF/classes/filters/ExampleFilter.class1u @ A B CD EF GH IJK @ L MN OP L QR ISTUV W XY Z L[\] attributeLjava/lang/String; filterConfigLjavax/servlet/FilterConfig;()VCodeLineNumberTableLocalVariableTablethisLfilters/ExampleFilter;destroydoFilter[(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)VrequestLjavax/servlet/ServletRequest;responseLjavax/servlet/ServletResponse;chainLjavax/servlet/FilterChain; startTimeJstopTime Exceptions^_init(Ljavax/servlet/FilterConfig;)VtoString()Ljava/lang/String;sbLjava/lang/StringBuffer; SourceFileExampleFilter.java "#  !` abc def *gh ijjava/lang/StringBuilder :; kl: km millisecondsn op qrInvokerFilter()java/lang/StringBufferInvokerFilter( "p ks) ktfilters/ExampleFilterjava/lang/Objectjavax/servlet/Filterjava/io/IOExceptionjavax/servlet/ServletExceptionjavax/servlet/ServletRequest setAttribute'(Ljava/lang/String;Ljava/lang/Object;)Vjava/lang/SystemcurrentTimeMillis()Jjavax/servlet/FilterChain@(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)Vjavax/servlet/FilterConfiggetServletContext ()Ljavax/servlet/ServletContext;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;(J)Ljava/lang/StringBuilder;javax/servlet/ServletContextlog(Ljava/lang/String;)VgetInitParameter&(Ljava/lang/String;)Ljava/lang/String;,(Ljava/lang/Object;)Ljava/lang/StringBuffer;,(Ljava/lang/String;)Ljava/lang/StringBuffer;1 !"#$A***%/8 ?& '()#$= **%JK M&  '(*+$V*+**7-+,7*Y *  e  %`adef$gUk&>V'(V,-V./V01?23$24356789$N*+*+%uvx&'( !57:;$q)*YL+*W+W+% $&)'(<=>?PK 49f2v1WEB-INF/classes/filters/RequestDumperFilter.class1: ` _                         7 7 < < 7 7 7 7 7 7 7 7 7   Y  Y Y Y filterConfigLjavax/servlet/FilterConfig;()VCodeLineNumberTableLocalVariableTablethisLfilters/RequestDumperFilter;destroydoFilter[(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)VlocaleLjava/util/Locale;iInameLjava/lang/String;values[Ljava/lang/String;valuehrequest'Ljavax/servlet/http/HttpServletRequest;cookies[Ljavax/servlet/http/Cookie;requestLjavax/servlet/ServletRequest;responseLjavax/servlet/ServletResponse;chainLjavax/servlet/FilterChain;swLjava/io/StringWriter;writerLjava/io/PrintWriter;localesLjava/util/Enumeration;firstZnames Exceptionsinit(Ljavax/servlet/FilterConfig;)VtoString()Ljava/lang/String;sbLjava/lang/StringBuffer; SourceFileRequestDumperFilter.java de bcjava/io/StringWriterjava/io/PrintWriter djava/lang/StringBuilderRequest Received at java/sql/Timestamp d   characterEncoding=  contentLength=   contentType=   locale=    locales=      java/util/Locale, e java/lang/String parameter==  protocol=  remoteAddr=  remoteHost=  scheme=  serverName=  serverPort=  isSecure=  %javax/servlet/http/HttpServletRequest---------------------------------------------- contextPath=   !javax/servlet/http/Cookie cookie= " # $ %& header= method= ' pathInfo= ( queryString= ) remoteUser= *requestedSessionId= + requestURI= , servletPath= --============================================= .e/ 01 234 56 l7RequestDumperFilter()java/lang/StringBufferRequestDumperFilter( d 8) 9filters/RequestDumperFilterjava/lang/Objectjavax/servlet/Filterjava/io/IOExceptionjavax/servlet/ServletException(Ljava/io/Writer;)Vappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;java/lang/SystemcurrentTimeMillis()J(J)V-(Ljava/lang/Object;)Ljava/lang/StringBuilder;println(Ljava/lang/String;)Vjavax/servlet/ServletRequestgetCharacterEncodinggetContentLength()I(I)Ljava/lang/StringBuilder;getContentType getLocale()Ljava/util/Locale;print getLocales()Ljava/util/Enumeration;java/util/EnumerationhasMoreElements()Z nextElement()Ljava/lang/Object;getParameterNamesgetParameterValues'(Ljava/lang/String;)[Ljava/lang/String; getProtocol getRemoteAddr getRemoteHost getScheme getServerName getServerPortisSecure(Z)Ljava/lang/StringBuilder;getContextPath getCookies()[Ljavax/servlet/http/Cookie;getNamegetValuegetHeaderNames getHeader&(Ljava/lang/String;)Ljava/lang/String; getMethod getPathInfogetQueryString getRemoteUsergetRequestedSessionId getRequestURIgetServletPathflushjavax/servlet/FilterConfiggetServletContext ()Ljavax/servlet/ServletContext; getBuffer()Ljava/lang/StringBuffer;javax/servlet/ServletContextlogjavax/servlet/FilterChain@(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V,(Ljava/lang/Object;)Ljava/lang/StringBuffer;,(Ljava/lang/String;)Ljava/lang/StringBuffer;1_`abcdef8 **g 0:h  ijkef4*g EGh ijlmf *Y:Y:Y Y Y + Y +Y + Y ++:6.: 6  !"+#:f$: Y%  & + ': 6       2 "Y( +) Y* ++ Y, +- Y. +/ Y0 +1 Y2 +3Y4 +56+78+7: Y9  :  ;:  <: 6   8Y=   2> &   2?   @:@$:   A: YB  &  YC  D YE  F YG  H YI  J YK  L YM  N YO  P QR*STUV-+,WgCYZ]^_=aZbwcdefghijkmnopqrst9uCvNwSxZydvj{o|r}~ =DKQox}1OmhnoF$pq Trs C,tu =pq .rs #vs Qwx xmyz ij{|}~PM f>*+g hijbcfq)*XYYZ[L+*\W+]^W+Ug $h)ijPK 49x8WEB-INF/classes/filters/SetCharacterEncodingFilter.class1T 2 3 4 5 67 8 69 :; <=> ?@ABCDencodingLjava/lang/String; filterConfigLjavax/servlet/FilterConfig;ignoreZ()VCodeLineNumberTableLocalVariableTablethis$Lfilters/SetCharacterEncodingFilter;destroydoFilter[(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)VrequestLjavax/servlet/ServletRequest;responseLjavax/servlet/ServletResponse;chainLjavax/servlet/FilterChain; ExceptionsEFinit(Ljavax/servlet/FilterConfig;)VvalueselectEncoding2(Ljavax/servlet/ServletRequest;)Ljava/lang/String; SourceFileSetCharacterEncodingFilter.java    G HI ./ JKL MN OPtrueQ RSyes"filters/SetCharacterEncodingFilterjava/lang/Objectjavax/servlet/Filterjava/io/IOExceptionjavax/servlet/ServletExceptionjavax/servlet/ServletRequestgetCharacterEncoding()Ljava/lang/String;setCharacterEncoding(Ljava/lang/String;)Vjavax/servlet/FilterChain@(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)Vjavax/servlet/FilterConfiggetInitParameter&(Ljava/lang/String;)Ljava/lang/String;java/lang/StringequalsIgnoreCase(Ljava/lang/String;)Z!J****;E LR = **]^ `   !-* +*+: +-+,stuv$z,|4 --"#-$%-&'()*+,N*+*+ + M, **, *, **. &/7@HM NN4-(*./9*"#01PK 49N* /WEB-INF/classes/listeners/ContextListener.class1n 9 :; 9< = >?@ >A BC D EFGH IJKL ME NO PQ MR STUVWXcontextLjavax/servlet/ServletContext;()VCodeLineNumberTableLocalVariableTablethisLlisteners/ContextListener;attributeAdded/(Ljavax/servlet/ServletContextAttributeEvent;)Vevent,Ljavax/servlet/ServletContextAttributeEvent;attributeRemovedattributeReplacedcontextDestroyed&(Ljavax/servlet/ServletContextEvent;)V#Ljavax/servlet/ServletContextEvent;contextInitializedlog(Ljava/lang/String;)VmessageLjava/lang/String;*(Ljava/lang/String;Ljava/lang/Throwable;)V throwableLjava/lang/Throwable; SourceFileContextListener.java  java/lang/StringBuilderattributeAdded(' YZ[ \]', ' ^_ Y`') a] 01attributeRemoved('attributeReplaced('contextDestroyed()b cdcontextInitialized()ContextListener: ef ghi j1 04k lmlisteners/ContextListenerjava/lang/Object-javax/servlet/ServletContextAttributeListener$javax/servlet/ServletContextListenerappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;*javax/servlet/ServletContextAttributeEventgetName()Ljava/lang/String;getValue()Ljava/lang/Object;-(Ljava/lang/Object;)Ljava/lang/StringBuilder;toString!javax/servlet/ServletContextEventgetServletContext ()Ljavax/servlet/ServletContext;javax/servlet/ServletContextjava/lang/SystemoutLjava/io/PrintStream;java/io/PrintStreamprintlnjava/lang/ThrowableprintStackTrace(Ljava/io/PrintStream;)V1 !8 **" %/#  $%&'!d,*Y++   " <+?#,$%,()*'!d,*Y++   " I+L#,$%,()+'!d,*Y++   " V+Y#,$%,(),-!H * *"cd f# $% (./-!K*+* "pqs#$%(.01!@*"*Y+ Y+ "&?#@$%@2304!H*#*Y+ ,#Y+ ,"'@G# H$%H23H5678PK 49_ _ /WEB-INF/classes/listeners/SessionListener.class1 C DE CF G HI JKL HM HN OP Q RSTU VWXY ZI[\ ]R ^_ `a ]b cdefghicontextLjavax/servlet/ServletContext;()VCodeLineNumberTableLocalVariableTablethisLlisteners/SessionListener;attributeAdded/(Ljavax/servlet/http/HttpSessionBindingEvent;)Vevent,Ljavax/servlet/http/HttpSessionBindingEvent;attributeRemovedattributeReplacedcontextDestroyed&(Ljavax/servlet/ServletContextEvent;)V#Ljavax/servlet/ServletContextEvent;contextInitializedsessionCreated((Ljavax/servlet/http/HttpSessionEvent;)V%Ljavax/servlet/http/HttpSessionEvent;sessionDestroyedlog(Ljava/lang/String;)VmessageLjava/lang/String;*(Ljava/lang/String;Ljava/lang/Throwable;)V throwableLjava/lang/Throwable; SourceFileSessionListener.java %& #$java/lang/StringBuilderattributeAdded(' jkl mno pq', ' rq st ju') vq :;attributeRemoved('attributeReplaced('contextDestroyed()w xycontextInitialized()sessionCreated('zsessionDestroyed('SessionListener: {| }~ ; :> listeners/SessionListenerjava/lang/Object$javax/servlet/ServletContextListener/javax/servlet/http/HttpSessionAttributeListener&javax/servlet/http/HttpSessionListenerappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;*javax/servlet/http/HttpSessionBindingEvent getSession"()Ljavax/servlet/http/HttpSession;javax/servlet/http/HttpSessiongetId()Ljava/lang/String;getNamegetValue()Ljava/lang/Object;-(Ljava/lang/Object;)Ljava/lang/StringBuilder;toString!javax/servlet/ServletContextEventgetServletContext ()Ljavax/servlet/ServletContext;#javax/servlet/http/HttpSessionEventjavax/servlet/ServletContextjava/lang/SystemoutLjava/io/PrintStream;java/io/PrintStreamprintlnjava/lang/ThrowableprintStackTrace(Ljava/io/PrintStream;)V1 !"#$ %&'8 **( '2)  *+,-'u=*Y+ +  +  ( ?<B)=*+=./0-'u=*Y+ +  +  ( L<O)=*+=./1-'u=*Y+ +  +  ( Y<\)=*+=./23'H **(fg i) *+ .453'K*+*(stv)*+.467']%*Y+ ( $)%*+%.897']%*Y+ ( $)%*+%.8:;'@*"*Y+Y+(&?)@*+@<=:>'H*#*Y+,#Y+,('@G) H*+H<=H?@ABPK 492%WEB-INF/classes/util/HTMLFilter.class1< " #$ #%& '( )*+, - ./0()VCodeLineNumberTableLocalVariableTablethisLutil/HTMLFilter;filter&(Ljava/lang/String;)Ljava/lang/String;iImessageLjava/lang/String;content[CresultLjava/lang/StringBuffer; SourceFileHTMLFilter.java 1 23 45java/lang/StringBuffer 6< 78>&" 79 :;util/HTMLFilterjava/lang/Objectjava/lang/Stringlength()IgetChars(II[CI)V(I)Vappend,(Ljava/lang/String;)Ljava/lang/StringBuffer;(C)Ljava/lang/StringBuffer;toString()Ljava/lang/String;1 /*  #**L**+Y+2`M>+h+4T"J&@<,>6,W),W, W, W ,+4 W, J&') *+%,--\/c0f2m3p5w6z89;,>*'k %r !PK r9 WEB-INF/sun-web.xml /ServletExamples Keep a copy of the generated servlet class' java code. PK 49"""WEB-INF/web.xml Servlet 2.4 Examples Servlet 2.4 Examples. Servlet Mapped Filter filters.ExampleFilter attribute filters.ExampleFilter.SERVLET_MAPPED Path Mapped Filter filters.ExampleFilter attribute filters.ExampleFilter.PATH_MAPPED Request Dumper Filter filters.RequestDumperFilter Set Character Encoding filters.SetCharacterEncodingFilter encoding EUC_JP Compression Filter compressionFilters.CompressionFilter compressionThreshold 10 debug 0 Servlet Mapped Filter invoker Path Mapped Filter /servlet/* *.jsp UTF-8 listeners.ContextListener listeners.SessionListener CompressionFilterTestServlet compressionFilters.CompressionFilterTestServlet HelloWorldExample HelloWorldExample RequestInfoExample RequestInfoExample RequestHeaderExample RequestHeaderExample RequestParamExample RequestParamExample CookieExample CookieExample SessionExample SessionExample CompressionFilterTestServlet /CompressionTest HelloWorldExample /servlet/HelloWorldExample RequestInfoExample /servlet/RequestInfoExample/* RequestHeaderExample /servlet/RequestHeaderExample RequestParamExample /servlet/RequestParamExample CookieExample /servlet/CookieExample SessionExample /servlet/SessionExample Example Security Constraint Protected Area /jsp/security/protected/* DELETE GET POST PUT tomcat role1 FORM Example Form-Based Authentication Area /jsp/security/protected/login.jsp /jsp/security/protected/error.jsp role1 tomcat minExemptions java.lang.Integer 1 foo/name1 java.lang.String value1 foo/bar/name2 java.lang.Boolean true name3 java.lang.Integer 1 foo/name4 java.lang.Integer 10 PK 49 cookies.html Untitled Document

Source Code for Cookie Example

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class CookieExample extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws IOException, ServletException
    {
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        
        // print out cookies

        Cookie[] cookies = request.getCookies();
        for (int i = 0; i < cookies.length; i++) {
            Cookie c = cookies[i];
            String name = c.getName();
            String value = c.getValue();
            out.println(name + " = " + value);
        }

        // set a cookie

        String name = request.getParameter("cookieName");
        if (name != null && name.length() > 0) {
            String value = request.getParameter("cookieValue");
            Cookie c = new Cookie(name, value);
            response.addCookie(c);
        }
    }
}
PK 49=G G helloworld.html Untitled Document

Source Code for HelloWorld Example

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class HelloWorld extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws IOException, ServletException
    {
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        out.println("<html>");
        out.println("<head>");
        out.println("<title>Hello World!</title>");
        out.println("</head>");
        out.println("<body>");
        out.println("<h1>Hello World!</h1>");
        out.println("</body>");
        out.println("</html>");
    }
}
PK 49rS6$$images/code.gifGIF89afff3f33ff3f3333f333ffff33f3f33333!,@ d)&Sb@"H#O: `)Q.4G$Upm#\()bRrPMI\BZ];y,DbD  avG Ar41 &.hI P `A.{ 8=~9xaUyC!;PK 49K9 images/execute.gifGIF89a!!!)))111999BBBJJJRRRZZZccckkksssνƽZRR{kkB991)))!!J99!9))1!!{scRJJ91{kc9)!scZ1!{cRZB1{sB91cRBB1!!R9!){skskc{kZ91)scR1)!ZJ9{cJcJ1{Z9ZB)1!kBkcZJB9)!kJ!{ckZBkJZB!R9cR9c1B1sR!Z9{JkRB)sZ1kR)R9J1{kB9){c9!{scZRB{Z91!kZ9{JcR1ZJ)RB!sZ)J9c!{kcRJB11))!k1kRsc9kZ1cR)RB{sZskRZR991kJB!ssk{ccZ11)ccR))!11!!!))!!ƌRRZJJR99B))1!!)!))9!!191B!){s{cZc9191)1)!)!!!,@+@0!B@aTÇ 9b#ItTPT PFʜR0 LTrgQ(Uj95԰ eʣ)hZC<|q|,% /^@h%S1@!44%!\Qʄ5$`@*ea]$r!n8xndY#)V(P <`CD&(0"2TQbQG4C!,$TPy]C-$ E<T  )W`2rjԁFT0`G! ;̑G)TU)aC 5a}EIuG(;PK 49!` index.html Servlet Examples Servlet Examples with Code

This is a collection of examples which demonstrate some of the more frequently used parts of the Servlet API. Familiarity with the Java(tm) Programming Language is assumed.

These examples will only work when viewed via an http URL. They will not work if you are viewing these pages via a "file://..." URL. Please refer to the README file provide with this Tomcat release regarding how to configure and start the provided web server.

Wherever you see a form, enter some data and see how the servlet reacts. When playing with the Cookie and Session Examples, jump back to the Headers Example to see exactly what your browser is sending the server.

To navigate your way through the examples, the following icons will help:
 
Execute the example
Look at the source code for the example
Return to this screen

Tip: To see the cookie interactions with your browser, try turning on the "notify when setting a cookie" option in your browser preferences. This will let you see when a session is created and give some feedback when looking at the cookie demo.
 
Hello World Execute Source
Request Info Execute Source
Request Headers Execute Source
Request Parameters Execute Source
Cookies Execute Source
Sessions Execute Source

Note: The source code for these examples does not contain all of the source code that is actually in the example, only the important sections of code. Code not important to understand the example has been removed for clarity. PK 491΍reqheaders.html Untitled Document

Source Code for RequestHeader Example

import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class RequestHeaderExample extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws IOException, ServletException
    {
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        Enumeration e = request.getHeaderNames();
        while (e.hasMoreElements()) {
            String name = (String)e.nextElement();
            String value = request.getHeader(name);
            out.println(name + " = " + value);
        }
    }
}
PK 49˞\ \ reqinfo.html Untitled Document

Source Code for Request Info Example

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class RequestInfo extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws IOException, ServletException
    {
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        out.println("<html>");
        out.println("<body>");
        out.println("<head>");
        out.println("<title>Request Information Example</title>");
        out.println("</head>");
        out.println("<body>");
        out.println("<h3>Request Information Example</h3>");
        out.println("Method: " + request.getMethod());
        out.println("Request URI: " + request.getRequestURI());
        out.println("Protocol: " + request.getProtocol());
        out.println("PathInfo: " + request.getPathInfo());
        out.println("Remote Address: " + request.getRemoteAddr());
        out.println("</body>");
        out.println("</html>");
    }

    /**
     * We are going to perform the same operations for POST requests
     * as for GET methods, so this method just sends the request to
     * the doGet method.
     */

    public void doPost(HttpServletRequest request, HttpServletResponse response)
    throws IOException, ServletException
    {
        doGet(request, response);
    }
}
PK 49MA A reqparams.html Untitled Document

Source Code for Request Parameter Example

import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class RequestParamExample extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws IOException, ServletException
    {
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        out.println("GET Request. No Form Data Posted");
    }

    public void doPost(HttpServletRequest request, HttpServletResponse res)
    throws IOException, ServletException
    {
        Enumeration e = request.getParameterNames();
	PrintWriter out = res.getWriter ();
        while (e.hasMoreElements()) {
            String name = (String)e.nextElement();
            String value = request.getParameter(name);
            out.println(name + " = " + value);
        }
    }
}
PK 49 sessions.html Untitled Document

Source Code for Session Example

import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class SessionExample extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws IOException, ServletException
    {
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        
        HttpSession session = request.getSession(true);

        // print session info

        Date created = new Date(session.getCreationTime());
        Date accessed = new Date(session.getLastAccessedTime());
        out.println("ID " + session.getId());
        out.println("Created: " + created);
        out.println("Last Accessed: " + accessed);

        // set session info if needed

        String dataName = request.getParameter("dataName");
        if (dataName != null && dataName.length() > 0) {
            String dataValue = request.getParameter("dataValue");
            session.setAttribute(dataName, dataValue);
        }

        // print session contents

        Enumeration e = session.getAttributeNames();
        while (e.hasMoreElements()) {
            String name = (String)e.nextElement();
            String value = session.getAttribute(name).toString();
            out.println(name + " = " + value);
        }
    }
}
PK 9 AMETA-INF/PK 9G/ff+META-INF/MANIFEST.MFPK r9AWEB-INF/PK 49AWEB-INF/classes/PK 49#AWEB-INF/classes/compressionFilters/PK 49AXWEB-INF/classes/filters/PK 49AWEB-INF/classes/listeners/PK 49AWEB-INF/classes/util/PK 49Aimages/PK 49)WEB-INF/classes/.netbeans_automatic_buildPK 49^#eWEB-INF/classes/CookieExample.classPK 49]r  'WEB-INF/classes/HelloWorldExample.classPK 49F88' WEB-INF/classes/LocalStrings.propertiesPK 49F88* WEB-INF/classes/LocalStrings_en.propertiesPK 49yc(^^*(WEB-INF/classes/LocalStrings_es.propertiesPK 49v*/WEB-INF/classes/LocalStrings_fr.propertiesPK 49l l *7WEB-INF/classes/RequestHeaderExample.classPK 49A (hBWEB-INF/classes/RequestInfoExample.classPK 492 )NWEB-INF/classes/RequestParamExample.classPK 49$ZWEB-INF/classes/SessionExample.classPK 49:kWEB-INF/classes/compressionFilters/CompressionFilter.classPK 49*[E{WEB-INF/classes/compressionFilters/CompressionFilterTestServlet.classPK 49ʌhhB̂WEB-INF/classes/compressionFilters/CompressionResponseStream.classPK 49NJWEB-INF/classes/compressionFilters/CompressionServletResponseWrapper.classPK 49   +WEB-INF/classes/filters/ExampleFilter.classPK 49f2v1NWEB-INF/classes/filters/RequestDumperFilter.classPK 49x8WEB-INF/classes/filters/SetCharacterEncodingFilter.classPK 49N* /mWEB-INF/classes/listeners/ContextListener.classPK 49_ _ /WEB-INF/classes/listeners/SessionListener.classPK 492%GWEB-INF/classes/util/HTMLFilter.classPK r9 WEB-INF/sun-web.xmlPK 49"""WEB-INF/web.xmlPK 49 cookies.htmlPK 49=G G helloworld.htmlPK 49rS6$$ images/code.gifPK 49K9 K"images/execute.gifPK 49 ^U[U'images/return.gifPK 49!` S,index.htmlPK 491΍&@reqheaders.htmlPK 49˞\ \ gHreqinfo.htmlPK 49MA A Ureqparams.htmlPK 49 Z_sessions.htmlPK** Pk