<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java%2FServlets%2FBasics</id>
		<title>Java/Servlets/Basics - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java%2FServlets%2FBasics"/>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java/Servlets/Basics&amp;action=history"/>
		<updated>2026-04-21T19:06:53Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java/Servlets/Basics&amp;diff=6267&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java/Servlets/Basics&amp;diff=6267&amp;oldid=prev"/>
				<updated>2010-06-01T06:10:49Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 06:10, 1 июня 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java/Servlets/Basics&amp;diff=6266&amp;oldid=prev</id>
		<title> в 18:01, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java/Servlets/Basics&amp;diff=6266&amp;oldid=prev"/>
				<updated>2010-05-31T18:01:43Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Bean Parser Servlet ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
import java.io.IOException;  &lt;br /&gt;
import java.io.PrintWriter;     &lt;br /&gt;
import javax.servlet.*;&lt;br /&gt;
import javax.servlet.http.*;&lt;br /&gt;
public class BeanParserServlet extends HttpServlet {&lt;br /&gt;
    &lt;br /&gt;
  public void doGet(HttpServletRequest request, HttpServletResponse response)&lt;br /&gt;
    throws ServletException, java.io.IOException {&lt;br /&gt;
    &lt;br /&gt;
  //set the MIME type of the response, &amp;quot;text/html&amp;quot;&lt;br /&gt;
    response.setContentType(&amp;quot;text/html&amp;quot;);&lt;br /&gt;
  &lt;br /&gt;
  //use a PrintWriter send text data to the client who has requested the servlet&lt;br /&gt;
    java.io.PrintWriter out = response.getWriter();&lt;br /&gt;
  &lt;br /&gt;
  //Begin assembling the HTML content&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;html&amp;gt;&amp;lt;head&amp;gt;&amp;quot;);&lt;br /&gt;
    &lt;br /&gt;
    out.println(&amp;quot;&amp;lt;title&amp;gt;Stock Price Fetcher&amp;lt;/title&amp;gt;&amp;lt;/head&amp;gt;&amp;lt;body&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;h2&amp;gt;Please submit a valid stock symbol&amp;lt;/h2&amp;gt;&amp;quot;);&lt;br /&gt;
   &lt;br /&gt;
   //make sure method=&amp;quot;post&amp;quot; so that the servlet service method&lt;br /&gt;
   //calls doPost in the response to this form submit&lt;br /&gt;
    out.println(&lt;br /&gt;
        &amp;quot;&amp;lt;form method=\&amp;quot;post\&amp;quot; action =\&amp;quot;&amp;quot; + request.getContextPath() +&lt;br /&gt;
            &amp;quot;/stockbean\&amp;quot; &amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;table border=\&amp;quot;0\&amp;quot;&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td valign=\&amp;quot;top\&amp;quot;&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;Stock symbol: &amp;lt;/td&amp;gt;  &amp;lt;td valign=\&amp;quot;top\&amp;quot;&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;input type=\&amp;quot;text\&amp;quot; name=\&amp;quot;symbol\&amp;quot; size=\&amp;quot;10\&amp;quot;&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td valign=\&amp;quot;top\&amp;quot;&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;input type=\&amp;quot;submit\&amp;quot; value=\&amp;quot;Submit Info\&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;/table&amp;gt;&amp;lt;/form&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;&amp;quot;);&lt;br /&gt;
  &lt;br /&gt;
     } //end doGet&lt;br /&gt;
   &lt;br /&gt;
   public void doPost(HttpServletRequest request, HttpServletResponse response)&lt;br /&gt;
    throws ServletException,java.io.IOException{&lt;br /&gt;
     &lt;br /&gt;
  &lt;br /&gt;
  String symbol;//this will hold the stock symbol&lt;br /&gt;
  float price = 0f;&lt;br /&gt;
  &lt;br /&gt;
  symbol = request.getParameter(&amp;quot;symbol&amp;quot;);&lt;br /&gt;
  &lt;br /&gt;
  boolean isValid = (symbol == null || symbol.length() &amp;lt; 1) ? false : true;&lt;br /&gt;
  //set the MIME type of the response, &amp;quot;text/html&amp;quot;&lt;br /&gt;
    response.setContentType(&amp;quot;text/html&amp;quot;);&lt;br /&gt;
  &lt;br /&gt;
    //use a PrintWriter send text data to the client who has requested the servlet&lt;br /&gt;
    java.io.PrintWriter out = response.getWriter();&lt;br /&gt;
  &lt;br /&gt;
  //Begin assembling the HTML content&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;html&amp;gt;&amp;lt;head&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;title&amp;gt;Latest stock value&amp;lt;/title&amp;gt;&amp;lt;/head&amp;gt;&amp;lt;body&amp;gt;&amp;quot;);&lt;br /&gt;
  &lt;br /&gt;
  if (! isValid){&lt;br /&gt;
      out.println(&amp;quot;&amp;lt;h2&amp;gt;Sorry, the stock symbol parameter was either empty or null&amp;lt;/h2&amp;gt;&amp;quot;);&lt;br /&gt;
  } else {&lt;br /&gt;
  &lt;br /&gt;
      out.println(&amp;quot;&amp;lt;h2&amp;gt;Here is the latest value of &amp;quot;+ symbol +&amp;quot;&amp;lt;/h2&amp;gt;&amp;quot;);&lt;br /&gt;
      &lt;br /&gt;
    &lt;br /&gt;
    StockPriceBean spbean = new StockPriceBean();&lt;br /&gt;
    spbean.setSymbol(symbol);&lt;br /&gt;
    price = spbean.getLatestPrice();&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
      out.println( (price == 0 ? &amp;quot;The symbol is probably invalid.&amp;quot; : &amp;quot;&amp;quot;+price) );&lt;br /&gt;
    &lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
    &lt;br /&gt;
  out.println(&amp;quot;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;&amp;quot;);&lt;br /&gt;
  &lt;br /&gt;
    out.close();&lt;br /&gt;
  &lt;br /&gt;
  }// doPost&lt;br /&gt;
  &lt;br /&gt;
}//HttpServlet&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Compression Response Stream servlets ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
* Copyright 2004 The Apache Software Foundation&lt;br /&gt;
*&lt;br /&gt;
* Licensed under the Apache License, Version 2.0 (the &amp;quot;License&amp;quot;);&lt;br /&gt;
* you may not use this file except in compliance with the License.&lt;br /&gt;
* You may obtain a copy of the License at&lt;br /&gt;
*&lt;br /&gt;
*     http://www.apache.org/licenses/LICENSE-2.0&lt;br /&gt;
*&lt;br /&gt;
* Unless required by applicable law or agreed to in writing, software&lt;br /&gt;
* distributed under the License is distributed on an &amp;quot;AS IS&amp;quot; BASIS,&lt;br /&gt;
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.&lt;br /&gt;
* See the License for the specific language governing permissions and&lt;br /&gt;
* limitations under the License.&lt;br /&gt;
*/&lt;br /&gt;
import java.io.IOException;&lt;br /&gt;
import java.io.OutputStream;&lt;br /&gt;
import java.util.zip.GZIPOutputStream;&lt;br /&gt;
import javax.servlet.ServletOutputStream;&lt;br /&gt;
import javax.servlet.http.HttpServletResponse;&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Implementation of &amp;lt;b&amp;gt;ServletOutputStream&amp;lt;/b&amp;gt; that works with&lt;br /&gt;
 * the CompressionServletResponseWrapper implementation.&lt;br /&gt;
 *&lt;br /&gt;
 * @author Amy Roh&lt;br /&gt;
 * @author Dmitri Valdin&lt;br /&gt;
 * @version $Revision: 1.3 $, $Date: 2004/03/18 16:40:33 $&lt;br /&gt;
 */&lt;br /&gt;
public class CompressionResponseStream&lt;br /&gt;
    extends ServletOutputStream {&lt;br /&gt;
    /**&lt;br /&gt;
     * Construct a servlet output stream associated with the specified Response.&lt;br /&gt;
     *&lt;br /&gt;
     * @param response The associated response&lt;br /&gt;
     */&lt;br /&gt;
    public CompressionResponseStream(HttpServletResponse response) throws IOException{&lt;br /&gt;
        super();&lt;br /&gt;
        closed = false;&lt;br /&gt;
        this.response = response;&lt;br /&gt;
        this.output = response.getOutputStream();&lt;br /&gt;
    }&lt;br /&gt;
    /**&lt;br /&gt;
     * The threshold number which decides to compress or not.&lt;br /&gt;
     * Users can configure in web.xml to set it to fit their needs.&lt;br /&gt;
     */&lt;br /&gt;
    protected int compressionThreshold = 0;&lt;br /&gt;
    /**&lt;br /&gt;
     * Debug level&lt;br /&gt;
     */&lt;br /&gt;
    private int debug = 0;&lt;br /&gt;
    /**&lt;br /&gt;
     * The buffer through which all of our output bytes are passed.&lt;br /&gt;
     */&lt;br /&gt;
    protected byte[] buffer = null;&lt;br /&gt;
    /**&lt;br /&gt;
     * The number of data bytes currently in the buffer.&lt;br /&gt;
     */&lt;br /&gt;
    protected int bufferCount = 0;&lt;br /&gt;
    /**&lt;br /&gt;
     * The underlying gzip output stream to which we should write data.&lt;br /&gt;
     */&lt;br /&gt;
    protected GZIPOutputStream gzipstream = null;&lt;br /&gt;
    /**&lt;br /&gt;
     * Has this stream been closed?&lt;br /&gt;
     */&lt;br /&gt;
    protected boolean closed = false;&lt;br /&gt;
    /**&lt;br /&gt;
     * The content length past which we will not write, or -1 if there is&lt;br /&gt;
     * no defined content length.&lt;br /&gt;
     */&lt;br /&gt;
    protected int length = -1;&lt;br /&gt;
    /**&lt;br /&gt;
     * The response with which this servlet output stream is associated.&lt;br /&gt;
     */&lt;br /&gt;
    protected HttpServletResponse response = null;&lt;br /&gt;
    /**&lt;br /&gt;
     * The underlying servket output stream to which we should write data.&lt;br /&gt;
     */&lt;br /&gt;
    protected ServletOutputStream output = null;&lt;br /&gt;
    /**&lt;br /&gt;
     * Set debug level&lt;br /&gt;
     */&lt;br /&gt;
    public void setDebugLevel(int debug) {&lt;br /&gt;
        this.debug = debug;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * Set the compressionThreshold number and create buffer for this size&lt;br /&gt;
     */&lt;br /&gt;
    protected void setBuffer(int threshold) {&lt;br /&gt;
        compressionThreshold = threshold;&lt;br /&gt;
        buffer = new byte[compressionThreshold];&lt;br /&gt;
        if (debug &amp;gt; 1) {&lt;br /&gt;
            System.out.println(&amp;quot;buffer is set to &amp;quot;+compressionThreshold);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    /**&lt;br /&gt;
     * Close this output stream, causing any buffered data to be flushed and&lt;br /&gt;
     * any further output data to throw an IOException.&lt;br /&gt;
     */&lt;br /&gt;
    public void close() throws IOException {&lt;br /&gt;
        if (debug &amp;gt; 1) {&lt;br /&gt;
            System.out.println(&amp;quot;close() @ CompressionResponseStream&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
        if (closed)&lt;br /&gt;
            throw new IOException(&amp;quot;This output stream has already been closed&amp;quot;);&lt;br /&gt;
        if (gzipstream != null) {&lt;br /&gt;
            flushToGZip();&lt;br /&gt;
            gzipstream.close();&lt;br /&gt;
            gzipstream = null;&lt;br /&gt;
        } else {&lt;br /&gt;
            if (bufferCount &amp;gt; 0) {&lt;br /&gt;
                if (debug &amp;gt; 2) {&lt;br /&gt;
                    System.out.print(&amp;quot;output.write(&amp;quot;);&lt;br /&gt;
                    System.out.write(buffer, 0, bufferCount);&lt;br /&gt;
                    System.out.println(&amp;quot;)&amp;quot;);&lt;br /&gt;
                }&lt;br /&gt;
                output.write(buffer, 0, bufferCount);&lt;br /&gt;
                bufferCount = 0;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        output.close();&lt;br /&gt;
        closed = true;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * Flush any buffered data for this output stream, which also causes the&lt;br /&gt;
     * response to be committed.&lt;br /&gt;
     */&lt;br /&gt;
    public void flush() throws IOException {&lt;br /&gt;
        if (debug &amp;gt; 1) {&lt;br /&gt;
            System.out.println(&amp;quot;flush() @ CompressionResponseStream&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
        if (closed) {&lt;br /&gt;
            throw new IOException(&amp;quot;Cannot flush a closed output stream&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
        if (gzipstream != null) {&lt;br /&gt;
            gzipstream.flush();&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    public void flushToGZip() throws IOException {&lt;br /&gt;
        if (debug &amp;gt; 1) {&lt;br /&gt;
            System.out.println(&amp;quot;flushToGZip() @ CompressionResponseStream&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
        if (bufferCount &amp;gt; 0) {&lt;br /&gt;
            if (debug &amp;gt; 1) {&lt;br /&gt;
                System.out.println(&amp;quot;flushing out to GZipStream, bufferCount = &amp;quot; + bufferCount);&lt;br /&gt;
            }&lt;br /&gt;
            writeToGZip(buffer, 0, bufferCount);&lt;br /&gt;
            bufferCount = 0;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    /**&lt;br /&gt;
     * Write the specified byte to our output stream.&lt;br /&gt;
     *&lt;br /&gt;
     * @param b The byte to be written&lt;br /&gt;
     *&lt;br /&gt;
     * @exception IOException if an input/output error occurs&lt;br /&gt;
     */&lt;br /&gt;
    public void write(int b) throws IOException {&lt;br /&gt;
        if (debug &amp;gt; 1) {&lt;br /&gt;
            System.out.println(&amp;quot;write &amp;quot;+b+&amp;quot; in CompressionResponseStream &amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
        if (closed)&lt;br /&gt;
            throw new IOException(&amp;quot;Cannot write to a closed output stream&amp;quot;);&lt;br /&gt;
        if (bufferCount &amp;gt;= buffer.length) {&lt;br /&gt;
            flushToGZip();&lt;br /&gt;
        }&lt;br /&gt;
        buffer[bufferCount++] = (byte) b;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * Write &amp;lt;code&amp;gt;b.length&amp;lt;/code&amp;gt; bytes from the specified byte array&lt;br /&gt;
     * to our output stream.&lt;br /&gt;
     *&lt;br /&gt;
     * @param b The byte array to be written&lt;br /&gt;
     *&lt;br /&gt;
     * @exception IOException if an input/output error occurs&lt;br /&gt;
     */&lt;br /&gt;
    public void write(byte b[]) throws IOException {&lt;br /&gt;
        write(b, 0, b.length);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * Write &amp;lt;code&amp;gt;len&amp;lt;/code&amp;gt; bytes from the specified byte array, starting&lt;br /&gt;
     * at the specified offset, to our output stream.&lt;br /&gt;
     *&lt;br /&gt;
     * @param b The byte array containing the bytes to be written&lt;br /&gt;
     * @param off Zero-relative starting offset of the bytes to be written&lt;br /&gt;
     * @param len The number of bytes to be written&lt;br /&gt;
     *&lt;br /&gt;
     * @exception IOException if an input/output error occurs&lt;br /&gt;
     */&lt;br /&gt;
    public void write(byte b[], int off, int len) throws IOException {&lt;br /&gt;
        if (debug &amp;gt; 1) {&lt;br /&gt;
            System.out.println(&amp;quot;write, bufferCount = &amp;quot; + bufferCount + &amp;quot; len = &amp;quot; + len + &amp;quot; off = &amp;quot; + off);&lt;br /&gt;
        }&lt;br /&gt;
        if (debug &amp;gt; 2) {&lt;br /&gt;
            System.out.print(&amp;quot;write(&amp;quot;);&lt;br /&gt;
            System.out.write(b, off, len);&lt;br /&gt;
            System.out.println(&amp;quot;)&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
        if (closed)&lt;br /&gt;
            throw new IOException(&amp;quot;Cannot write to a closed output stream&amp;quot;);&lt;br /&gt;
        if (len == 0)&lt;br /&gt;
            return;&lt;br /&gt;
        // Can we write into buffer ?&lt;br /&gt;
        if (len &amp;lt;= (buffer.length - bufferCount)) {&lt;br /&gt;
            System.arraycopy(b, off, buffer, bufferCount, len);&lt;br /&gt;
            bufferCount += len;&lt;br /&gt;
            return;&lt;br /&gt;
        }&lt;br /&gt;
        // There is not enough space in buffer. Flush it ...&lt;br /&gt;
        flushToGZip();&lt;br /&gt;
        // ... and try again. Note, that bufferCount = 0 here !&lt;br /&gt;
        if (len &amp;lt;= (buffer.length - bufferCount)) {&lt;br /&gt;
            System.arraycopy(b, off, buffer, bufferCount, len);&lt;br /&gt;
            bufferCount += len;&lt;br /&gt;
            return;&lt;br /&gt;
        }&lt;br /&gt;
        // write direct to gzip&lt;br /&gt;
        writeToGZip(b, off, len);&lt;br /&gt;
    }&lt;br /&gt;
    public void writeToGZip(byte b[], int off, int len) throws IOException {&lt;br /&gt;
        if (debug &amp;gt; 1) {&lt;br /&gt;
            System.out.println(&amp;quot;writeToGZip, len = &amp;quot; + len);&lt;br /&gt;
        }&lt;br /&gt;
        if (debug &amp;gt; 2) {&lt;br /&gt;
            System.out.print(&amp;quot;writeToGZip(&amp;quot;);&lt;br /&gt;
            System.out.write(b, off, len);&lt;br /&gt;
            System.out.println(&amp;quot;)&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
        if (gzipstream == null) {&lt;br /&gt;
            if (debug &amp;gt; 1) {&lt;br /&gt;
                System.out.println(&amp;quot;new GZIPOutputStream&amp;quot;);&lt;br /&gt;
            }&lt;br /&gt;
            response.addHeader(&amp;quot;Content-Encoding&amp;quot;, &amp;quot;gzip&amp;quot;);&lt;br /&gt;
            gzipstream = new GZIPOutputStream(output);&lt;br /&gt;
        }&lt;br /&gt;
        gzipstream.write(b, off, len);&lt;br /&gt;
    }&lt;br /&gt;
    // -------------------------------------------------------- Package Methods&lt;br /&gt;
    /**&lt;br /&gt;
     * Has this response stream been closed?&lt;br /&gt;
     */&lt;br /&gt;
    public boolean closed() {&lt;br /&gt;
        return (this.closed);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Compression Servlet Response Wrapper ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
* Copyright 2004 The Apache Software Foundation&lt;br /&gt;
*&lt;br /&gt;
* Licensed under the Apache License, Version 2.0 (the &amp;quot;License&amp;quot;);&lt;br /&gt;
* you may not use this file except in compliance with the License.&lt;br /&gt;
* You may obtain a copy of the License at&lt;br /&gt;
*&lt;br /&gt;
*     http://www.apache.org/licenses/LICENSE-2.0&lt;br /&gt;
*&lt;br /&gt;
* Unless required by applicable law or agreed to in writing, software&lt;br /&gt;
* distributed under the License is distributed on an &amp;quot;AS IS&amp;quot; BASIS,&lt;br /&gt;
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.&lt;br /&gt;
* See the License for the specific language governing permissions and&lt;br /&gt;
* limitations under the License.&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
import java.io.IOException;&lt;br /&gt;
import java.io.OutputStream;&lt;br /&gt;
import java.io.OutputStreamWriter;&lt;br /&gt;
import java.io.PrintWriter;&lt;br /&gt;
import java.util.Locale;&lt;br /&gt;
import javax.servlet.ServletRequest;&lt;br /&gt;
import javax.servlet.ServletResponse;&lt;br /&gt;
import javax.servlet.ServletException;&lt;br /&gt;
import javax.servlet.ServletOutputStream;&lt;br /&gt;
import javax.servlet.ServletResponse;&lt;br /&gt;
import javax.servlet.ServletResponseWrapper;&lt;br /&gt;
import javax.servlet.http.HttpServletResponse;&lt;br /&gt;
import javax.servlet.http.HttpServletResponseWrapper;&lt;br /&gt;
/**&lt;br /&gt;
 * Implementation of &amp;lt;b&amp;gt;HttpServletResponseWrapper&amp;lt;/b&amp;gt; that works with&lt;br /&gt;
 * the CompressionServletResponseStream implementation..&lt;br /&gt;
 *&lt;br /&gt;
 * @author Amy Roh&lt;br /&gt;
 * @author Dmitri Valdin&lt;br /&gt;
 * @version $Revision: 1.3 $, $Date: 2004/03/18 16:40:33 $&lt;br /&gt;
 */&lt;br /&gt;
public class CompressionServletResponseWrapper extends HttpServletResponseWrapper {&lt;br /&gt;
    // ----------------------------------------------------- Constructor&lt;br /&gt;
    /**&lt;br /&gt;
     * Calls the parent constructor which creates a ServletResponse adaptor&lt;br /&gt;
     * wrapping the given response object.&lt;br /&gt;
     */&lt;br /&gt;
    public CompressionServletResponseWrapper(HttpServletResponse response) {&lt;br /&gt;
        super(response);&lt;br /&gt;
        origResponse = response;&lt;br /&gt;
        if (debug &amp;gt; 1) {&lt;br /&gt;
            System.out.println(&amp;quot;CompressionServletResponseWrapper constructor gets called&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // ----------------------------------------------------- Instance Variables&lt;br /&gt;
    /**&lt;br /&gt;
     * Original response&lt;br /&gt;
     */&lt;br /&gt;
    protected HttpServletResponse origResponse = null;&lt;br /&gt;
    /**&lt;br /&gt;
     * Descriptive information about this Response implementation.&lt;br /&gt;
     */&lt;br /&gt;
    protected static final String info = &amp;quot;CompressionServletResponseWrapper&amp;quot;;&lt;br /&gt;
    /**&lt;br /&gt;
     * The ServletOutputStream that has been returned by&lt;br /&gt;
     * &amp;lt;code&amp;gt;getOutputStream()&amp;lt;/code&amp;gt;, if any.&lt;br /&gt;
     */&lt;br /&gt;
    protected ServletOutputStream stream = null;&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * The PrintWriter that has been returned by&lt;br /&gt;
     * &amp;lt;code&amp;gt;getWriter()&amp;lt;/code&amp;gt;, if any.&lt;br /&gt;
     */&lt;br /&gt;
    protected PrintWriter writer = null;&lt;br /&gt;
    /**&lt;br /&gt;
     * The threshold number to compress&lt;br /&gt;
     */&lt;br /&gt;
    protected int threshold = 0;&lt;br /&gt;
    /**&lt;br /&gt;
     * Debug level&lt;br /&gt;
     */&lt;br /&gt;
    private int debug = 0;&lt;br /&gt;
    /**&lt;br /&gt;
     * Content type&lt;br /&gt;
     */&lt;br /&gt;
    protected String contentType = null;&lt;br /&gt;
    // --------------------------------------------------------- Public Methods&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * Set content type&lt;br /&gt;
     */&lt;br /&gt;
    public void setContentType(String contentType) {&lt;br /&gt;
        if (debug &amp;gt; 1) {&lt;br /&gt;
            System.out.println(&amp;quot;setContentType to &amp;quot;+contentType);&lt;br /&gt;
        }&lt;br /&gt;
        this.contentType = contentType;&lt;br /&gt;
        origResponse.setContentType(contentType);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * Set threshold number&lt;br /&gt;
     */&lt;br /&gt;
    public void setCompressionThreshold(int threshold) {&lt;br /&gt;
        if (debug &amp;gt; 1) {&lt;br /&gt;
            System.out.println(&amp;quot;setCompressionThreshold to &amp;quot; + threshold);&lt;br /&gt;
        }&lt;br /&gt;
        this.threshold = threshold;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * Set debug level&lt;br /&gt;
     */&lt;br /&gt;
    public void setDebugLevel(int debug) {&lt;br /&gt;
        this.debug = debug;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * Create and return a ServletOutputStream to write the content&lt;br /&gt;
     * associated with this Response.&lt;br /&gt;
     *&lt;br /&gt;
     * @exception IOException if an input/output error occurs&lt;br /&gt;
     */&lt;br /&gt;
    public ServletOutputStream createOutputStream() throws IOException {&lt;br /&gt;
        if (debug &amp;gt; 1) {&lt;br /&gt;
            System.out.println(&amp;quot;createOutputStream gets called&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
        CompressionResponseStream stream = new CompressionResponseStream(origResponse);&lt;br /&gt;
        stream.setDebugLevel(debug);&lt;br /&gt;
        stream.setBuffer(threshold);&lt;br /&gt;
        return stream;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * Finish a response.&lt;br /&gt;
     */&lt;br /&gt;
    public void finishResponse() {&lt;br /&gt;
        try {&lt;br /&gt;
            if (writer != null) {&lt;br /&gt;
                writer.close();&lt;br /&gt;
            } else {&lt;br /&gt;
                if (stream != null)&lt;br /&gt;
                    stream.close();&lt;br /&gt;
            }&lt;br /&gt;
        } catch (IOException e) {&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // ------------------------------------------------ ServletResponse Methods&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * Flush the buffer and commit this response.&lt;br /&gt;
     *&lt;br /&gt;
     * @exception IOException if an input/output error occurs&lt;br /&gt;
     */&lt;br /&gt;
    public void flushBuffer() throws IOException {&lt;br /&gt;
        if (debug &amp;gt; 1) {&lt;br /&gt;
            System.out.println(&amp;quot;flush buffer @ CompressionServletResponseWrapper&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
        ((CompressionResponseStream)stream).flush();&lt;br /&gt;
    }&lt;br /&gt;
    /**&lt;br /&gt;
     * Return the servlet output stream associated with this Response.&lt;br /&gt;
     *&lt;br /&gt;
     * @exception IllegalStateException if &amp;lt;code&amp;gt;getWriter&amp;lt;/code&amp;gt; has&lt;br /&gt;
     *  already been called for this response&lt;br /&gt;
     * @exception IOException if an input/output error occurs&lt;br /&gt;
     */&lt;br /&gt;
    public ServletOutputStream getOutputStream() throws IOException {&lt;br /&gt;
        if (writer != null)&lt;br /&gt;
            throw new IllegalStateException(&amp;quot;getWriter() has already been called for this response&amp;quot;);&lt;br /&gt;
        if (stream == null)&lt;br /&gt;
            stream = createOutputStream();&lt;br /&gt;
        if (debug &amp;gt; 1) {&lt;br /&gt;
            System.out.println(&amp;quot;stream is set to &amp;quot;+stream+&amp;quot; in getOutputStream&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
        return (stream);&lt;br /&gt;
    }&lt;br /&gt;
    /**&lt;br /&gt;
     * Return the writer associated with this Response.&lt;br /&gt;
     *&lt;br /&gt;
     * @exception IllegalStateException if &amp;lt;code&amp;gt;getOutputStream&amp;lt;/code&amp;gt; has&lt;br /&gt;
     *  already been called for this response&lt;br /&gt;
     * @exception IOException if an input/output error occurs&lt;br /&gt;
     */&lt;br /&gt;
    public PrintWriter getWriter() throws IOException {&lt;br /&gt;
        if (writer != null)&lt;br /&gt;
            return (writer);&lt;br /&gt;
        if (stream != null)&lt;br /&gt;
            throw new IllegalStateException(&amp;quot;getOutputStream() has already been called for this response&amp;quot;);&lt;br /&gt;
        stream = createOutputStream();&lt;br /&gt;
        if (debug &amp;gt; 1) {&lt;br /&gt;
            System.out.println(&amp;quot;stream is set to &amp;quot;+stream+&amp;quot; in getWriter&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
        //String charset = getCharsetFromContentType(contentType);&lt;br /&gt;
        String charEnc = origResponse.getCharacterEncoding();&lt;br /&gt;
        if (debug &amp;gt; 1) {&lt;br /&gt;
            System.out.println(&amp;quot;character encoding is &amp;quot; + charEnc);&lt;br /&gt;
        }&lt;br /&gt;
        // HttpServletResponse.getCharacterEncoding() shouldn&amp;quot;t return null&lt;br /&gt;
        // according the spec, so feel free to remove that &amp;quot;if&amp;quot;&lt;br /&gt;
        if (charEnc != null) {&lt;br /&gt;
            writer = new PrintWriter(new OutputStreamWriter(stream, charEnc));&lt;br /&gt;
        } else {&lt;br /&gt;
            writer = new PrintWriter(stream);&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        return (writer);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    public void setContentLength(int length) {&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * Returns character from content type. This method was taken from tomcat.&lt;br /&gt;
     * @author rajo&lt;br /&gt;
     */&lt;br /&gt;
    private static String getCharsetFromContentType(String type) {&lt;br /&gt;
        if (type == null) {&lt;br /&gt;
            return null;&lt;br /&gt;
        }&lt;br /&gt;
        int semi = type.indexOf(&amp;quot;;&amp;quot;);&lt;br /&gt;
        if (semi == -1) {&lt;br /&gt;
            return null;&lt;br /&gt;
        }&lt;br /&gt;
        String afterSemi = type.substring(semi + 1);&lt;br /&gt;
        int charsetLocation = afterSemi.indexOf(&amp;quot;charset=&amp;quot;);&lt;br /&gt;
        if(charsetLocation == -1) {&lt;br /&gt;
            return null;&lt;br /&gt;
        } else {&lt;br /&gt;
            String afterCharset = afterSemi.substring(charsetLocation + 8);&lt;br /&gt;
            String encoding = afterCharset.trim();&lt;br /&gt;
            return encoding;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/// the visibility of variables declared at class level and within methods.&lt;br /&gt;
class HW {&lt;br /&gt;
  int j;               // j is visible to both method1 and method 2&lt;br /&gt;
        &lt;br /&gt;
  void method1() {&lt;br /&gt;
    double x;         // x is visible only to method1&lt;br /&gt;
  }&lt;br /&gt;
  void method2() {&lt;br /&gt;
    double y; // y is visible only to method2&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Post Handler ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import javax.servlet.*;&lt;br /&gt;
import javax.servlet.http.*;&lt;br /&gt;
import java.util.Map;&lt;br /&gt;
import java.util.Iterator;&lt;br /&gt;
import java.util.Map.Entry;&lt;br /&gt;
public class PostHandler extends HttpServlet {&lt;br /&gt;
  &lt;br /&gt;
 public void doPost(HttpServletRequest request, HttpServletResponse response)&lt;br /&gt;
    throws ServletException, java.io.IOException {&lt;br /&gt;
        &lt;br /&gt;
/* Use the ServletRequest.getParameter(String name), getParameterMap(), getParameterNames(), or getParameterValues() methods in the servlet&amp;quot;s doPost method*/&lt;br /&gt;
        String name = request.getParameter(&amp;quot;username&amp;quot;);&lt;br /&gt;
        String depart = request.getParameter(&amp;quot;department&amp;quot;);&lt;br /&gt;
        String email = request.getParameter(&amp;quot;email&amp;quot;);&lt;br /&gt;
        response.setContentType(&amp;quot;text/html&amp;quot;);&lt;br /&gt;
        java.io.PrintWriter out = response.getWriter();&lt;br /&gt;
      &lt;br /&gt;
        out.println(&amp;quot;&amp;lt;html&amp;gt;&amp;quot;);&lt;br /&gt;
        out.println(&amp;quot;&amp;lt;head&amp;gt;&amp;quot;);&lt;br /&gt;
        out.println(&amp;quot;&amp;lt;title&amp;gt;Welcome&amp;lt;/title&amp;gt;&amp;quot;);  &lt;br /&gt;
        out.println(&amp;quot;&amp;lt;/head&amp;gt;&amp;quot;);&lt;br /&gt;
        out.println(&amp;quot;&amp;lt;body&amp;gt;&amp;quot;);&lt;br /&gt;
        out.println(&amp;quot;&amp;lt;h1&amp;gt;Your Identity&amp;lt;/h1&amp;gt;&amp;quot;);&lt;br /&gt;
        out.println(&amp;quot;Your name is: &amp;quot; + ( (name == null ||  name.equals(&amp;quot;&amp;quot;)) ? &amp;quot;Unknown&amp;quot; : name));&lt;br /&gt;
         out.println(&amp;quot;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;quot;);&lt;br /&gt;
         out.println(&amp;quot;Your department is: &amp;quot; + ( (depart == null ||  depart.equals(&amp;quot;&amp;quot;)) ? &amp;quot;Unknown&amp;quot; : depart));&lt;br /&gt;
         out.println(&amp;quot;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;quot;);&lt;br /&gt;
         out.println(&amp;quot;Your email address is: &amp;quot; + ( (email == null ||  email.equals(&amp;quot;&amp;quot;)) ? &amp;quot;Unknown&amp;quot; : email));&lt;br /&gt;
        out.println(&amp;quot;&amp;lt;h2&amp;gt;Using ServletRequest.getParameterMap&amp;lt;/h2&amp;gt;&amp;quot;);&lt;br /&gt;
        Map param_map = request.getParameterMap();&lt;br /&gt;
        if (param_map == null)&lt;br /&gt;
            throw new ServletException(&lt;br /&gt;
              &amp;quot;getParameterMap returned null in: &amp;quot; + getClass().getName());&lt;br /&gt;
         //iterate through the java.util.Map and display posted parameter values&lt;br /&gt;
        //the keys of the Map.Entry objects ae type String; the values are type String[],&lt;br /&gt;
        //or String array&lt;br /&gt;
        Iterator iterator = param_map.entrySet().iterator();&lt;br /&gt;
        while(iterator.hasNext()){&lt;br /&gt;
            Map.Entry me = (Map.Entry)iterator.next();&lt;br /&gt;
            out.println(me.getKey() + &amp;quot;: &amp;quot;);&lt;br /&gt;
            String[] arr = (String[]) me.getValue();&lt;br /&gt;
            for(int i=0;i&amp;lt;arr.length;i++){&lt;br /&gt;
              out.println(arr[i]);&lt;br /&gt;
              //print commas after multiple values, &lt;br /&gt;
              //except for the last one&lt;br /&gt;
              if (i &amp;gt; 0 &amp;amp;&amp;amp; i != arr.length-1)&lt;br /&gt;
                out.println(&amp;quot;, &amp;quot;);}//end for&lt;br /&gt;
                out.println(&amp;quot;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;quot;);&lt;br /&gt;
            }//end while&lt;br /&gt;
        out.println(&amp;quot;&amp;lt;/body&amp;gt;&amp;quot;);&lt;br /&gt;
        out.println(&amp;quot;&amp;lt;/html&amp;gt;&amp;quot;);&lt;br /&gt;
        out.close();&lt;br /&gt;
  } &lt;br /&gt;
  &lt;br /&gt;
  public void doGet(HttpServletRequest request, HttpServletResponse response)&lt;br /&gt;
    throws ServletException, java.io.IOException {&lt;br /&gt;
    doPost(request,response);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Query Modifier ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
import javax.servlet.*;&lt;br /&gt;
import javax.servlet.http.*;&lt;br /&gt;
public class QueryModifier extends HttpServlet {&lt;br /&gt;
  public void doGet(HttpServletRequest request, HttpServletResponse response)&lt;br /&gt;
      throws ServletException, java.io.IOException {&lt;br /&gt;
    String requestUrl = request.getRequestURL().toString();&lt;br /&gt;
    String querystr = request.getQueryString();&lt;br /&gt;
    if (querystr != null) {&lt;br /&gt;
      querystr = querystr&lt;br /&gt;
          + &amp;quot;&amp;amp;inspector-name=Jen&amp;amp;inspector-email=Jenniferq@yahoo.ru&amp;quot;;&lt;br /&gt;
    } else {&lt;br /&gt;
      querystr = &amp;quot;inspector-name=Jen&amp;amp;inspector-email=Jenniferq@yahoo.ru&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
    RequestDispatcher dispatcher = request&lt;br /&gt;
        .getRequestDispatcher(&amp;quot;/viewPost.jsp?&amp;quot; + querystr);&lt;br /&gt;
    dispatcher.forward(request, response);&lt;br /&gt;
  }&lt;br /&gt;
  public void doPost(HttpServletRequest request, HttpServletResponse response)&lt;br /&gt;
      throws ServletException, java.io.IOException {&lt;br /&gt;
    doGet(request, response);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Servlet parameter ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.IOException;&lt;br /&gt;
import javax.servlet.ServletException;&lt;br /&gt;
import javax.servlet.ServletOutputStream;&lt;br /&gt;
import javax.servlet.http.HttpServlet;&lt;br /&gt;
import javax.servlet.http.HttpServletRequest;&lt;br /&gt;
import javax.servlet.http.HttpServletResponse;&lt;br /&gt;
public class ShowFile extends HttpServlet {&lt;br /&gt;
  public void doGet(HttpServletRequest request, HttpServletResponse response)&lt;br /&gt;
      throws ServletException, IOException {&lt;br /&gt;
    ServletOutputStream out = response.getOutputStream();&lt;br /&gt;
    String fileName = request.getParameter(&amp;quot;file&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;html&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;head&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;title&amp;gt;Welcome&amp;lt;/title&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;/head&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;body&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;h2&amp;gt;The File&amp;lt;/h2&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(fileName);&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;/body&amp;gt;&amp;quot;);&lt;br /&gt;
    out.println(&amp;quot;&amp;lt;/html&amp;gt;&amp;quot;);&lt;br /&gt;
    out.close();&lt;br /&gt;
  }&lt;br /&gt;
  public void doPost(HttpServletRequest request, HttpServletResponse response)&lt;br /&gt;
      throws ServletException, IOException {&lt;br /&gt;
    doGet(request, response);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Using Init Method Servlet ==&lt;/div&gt;</summary>
			</entry>

	</feed>