You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by cr...@locus.apache.org on 2000/03/28 04:36:22 UTC

cvs commit: jakarta-tomcat/src/doc/appdev/sample/web/images tomcat.gif

craigmcc    00/03/27 18:36:22

  Added:       src/doc/appdev/sample build build.xml
               src/doc/appdev/sample/etc web.xml
               src/doc/appdev/sample/src Hello.java
               src/doc/appdev/sample/web hello.jsp index.html
               src/doc/appdev/sample/web/images tomcat.gif
  Log:
  Sample application with a source organization based on the recommendations
  in the Application Developer's Guide.
  
  Revision  Changes    Path
  1.1                  jakarta-tomcat/src/doc/appdev/sample/build
  
  Index: build
  ===================================================================
  #!/bin/sh
  # build -- Build Script for the "Hello, World" Application
  # $Id: build,v 1.1 2000/03/28 02:36:21 craigmcc Exp $
  
  # Identify the custom class path components we need
  CP=$TOMCAT_HOME/classes:$TOMCAT_HOME/lib/ant.jar:$TOMCAT_HOME/lib/xml.jar
  CP=$CP:$TOMCAT_HOME/lib/jasper.jar:$TOMCAT_HOME/lib/servlet.jar
  CP=$CP:$TOMCAT_HOME/lib/webserver.jar
  
  # Execute ANT to perform the requested build target
  java -Dtomcat.home=$TOMCAT_HOME -classpath $CP:$CLASSPATH \
     org.apache.tools.ant.Main "$@"
  
  
  
  1.1                  jakarta-tomcat/src/doc/appdev/sample/build.xml
  
  Index: build.xml
  ===================================================================
  <project name="Hello, World" default="compile" basedir=".">
  
  <!-- Simple "Hello, World" project to provide a concrete example of
       the recommendations in the Application Developer's Guide.
  
       NOTE:  Before using this file as is, you should review the
       values for the properties described under the "init" target.
       In particular, it is assumed that you wish to install this
       application under context path "/myapp" in the Tomcat installation
       defined by your TOMCAT_HOME environment variable.
  -->
  
  
    <target name="init">
      <!-- Property values defined here can be overridden by defining
           corresponding Java system properties on the Ant command line.  -->
      <property name="deploy.home"    value="${tomcat.home}/webapps/myapp"/>
      <property name="dist.home"      value="${deploy.home}"/>
      <property name="dist.src"       value="myapp.jar"/>
      <property name="dist.war"       value="myapp.war"/>
      <property name="javadoc.home"   value="${deploy.home}/javadoc"/>
    </target>
  
  
    <target name="prepare" init="init">
      <mkdir dir="${deploy.home}"/>
      <copydir src="web" dest="${deploy.home}"/>
      <mkdir dir="${deploy.home}/WEB-INF"/>
      <copyfile src="etc/web.xml" dest="${deploy.home}/WEB-INF/web.xml"/>
      <mkdir dir="${deploy.home}/WEB-INF/classes"/>
      <mkdir dir="${deploy.home}/WEB-INF/lib"/>
      <copydir src="lib" dest="${deploy.home}/lib"/>
      <mkdir dir="${javadoc.home}"/>
    </target>
  
  
    <target name="clean" init="init">
      <deltree dir="${deploy.home}"/>
    </target>
  
  
    <target name="compile" depends="prepare" init="init">
      <javac srcdir="src" destdir="${deploy.home}/WEB-INF/classes"
             classpath="${deploy.home}/WEB-INF/classes"
             debug="on" optimize="off" deprecation="off"/>
    </target>
  
  
    <target name="javadoc" depends="prepare" init="init">
      <!-- TODO -->
    </target>
  
  
    <target name="all" depends="clean,prepare,compile,javadoc" init="init"/>
  
  
    <target name="dist" depends="prepare,compile" init="init">
      <jar jarfile="${dist.home}/${dist.src}"
           basedir="." items="*"/>
      <jar jarfile="${dist.home}/${dist.war}"
           basedir="${deploy.home}" items="*"/>
    </target>
  
  
  </project>
  
  
  
  1.1                  jakarta-tomcat/src/doc/appdev/sample/etc/web.xml
  
  Index: web.xml
  ===================================================================
  <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
  
  <web-app>
  
      <display-name>Hello, World Application</display-name>
      <description>
  	This is a simple web application with a source code organization
  	based on the recommendations of the Application Developer's Guide.
      </description>
  
      <servlet>
          <servlet-name>HelloServlet</servlet-name>
          <servlet-class>Hello</servlet-class>
      </servlet>
  
      <servlet-mapping>
          <servlet-name>HelloServlet</servlet-name>
          <url-pattern>/hello</url-pattern>
      </servlet-mapping>
  
  </web-app>
  
  
  
  1.1                  jakarta-tomcat/src/doc/appdev/sample/src/Hello.java
  
  Index: Hello.java
  ===================================================================
  /*
   * ====================================================================
   *
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution, if
   *    any, must include the following acknowlegement:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowlegement may appear in the software itself,
   *    if and wherever such third-party acknowlegements normally appear.
   *
   * 4. The names "The Jakarta Project", "Tomcat", and "Apache Software
   *    Foundation" must not be used to endorse or promote products derived
   *    from this software without prior written permission. For written
   *    permission, please contact apache@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache"
   *    nor may "Apache" appear in their names without prior written
   *    permission of the Apache Group.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   *
   * [Additional notices, if required by prior licensing conditions]
   *
   */
  
  // If this class were in a package, it would need to go in the
  // corresponding subdirectory
  
  import java.io.IOException;
  import java.io.PrintWriter;
  import java.util.Enumeration;
  import javax.servlet.ServletException;
  import javax.servlet.http.HttpServlet;
  import javax.servlet.http.HttpServletRequest;
  import javax.servlet.http.HttpServletResponse;
  
  
  /**
   * Simple servlet to validate that the Hello, World example can
   * execute servlets.  In the web application deployment descriptor,
   * this servlet must be mapped to correspond to the link in the
   * "index.html" file.
   *
   * @author Craig R. McClanahan <Cr...@eng.sun.com>
   */
  
  public final class Hello extends HttpServlet {
  
  
      /**
       * Respond to a GET request for the content produced by
       * this servlet.
       *
       * @param request The servlet request we are processing
       * @param response The servlet response we are producing
       *
       * @exception IOException if an input/output error occurs
       * @exception ServletException if a servlet error occurs
       */
      public void doGet(HttpServletRequest request,
                        HttpServletResponse response)
        throws IOException, ServletException {
  
  	response.setContentType("text/html");
  	PrintWriter writer = response.getWriter();
  
  	writer.println("<html>");
  	writer.println("<head>");
  	writer.println("<title>Sample Application Servlet Page</title>");
  	writer.println("</head>");
  	writer.println("<body bgcolor=white>");
  
  	writer.println("<table border=\"0\">");
  	writer.println("<tr>");
  	writer.println("<td>");
  	writer.println("<img src=\"images/tomcat.gif\">");
  	writer.println("</td>");
  	writer.println("<td>");
  	writer.println("<h1>Sample Application Servlet</h1>");
  	writer.println("This is the output of a servlet that is part of");
  	writer.println("the Hello, World application.  It displays the");
  	writer.println("request headers from the request we are currently");
  	writer.println("processing.");
  	writer.println("</td>");
  	writer.println("</tr>");
  	writer.println("</table>");
  
  	writer.println("<table border=\"0\" width=\"100%\">");
  	Enumeration names = request.getHeaderNames();
  	while (names.hasMoreElements()) {
  	    String name = (String) names.nextElement();
  	    writer.println("<tr>");
  	    writer.println("  <th align=\"right\">" + name + ":</th>");
  	    writer.println("  <td>" + request.getHeader(name) + "</td>");
  	    writer.println("</tr>");
  	}
  	writer.println("</table>");
  
  	writer.println("</body>");
  	writer.println("</html>");
  
      }
  
  
  }
  
  
  
  1.1                  jakarta-tomcat/src/doc/appdev/sample/web/hello.jsp
  
  Index: hello.jsp
  ===================================================================
  <html>
  <head>
  <title>Sample Application JSP Page</title>
  </head>
  <body bgcolor=white>
  
  <table border="0">
  <tr>
  <td align=center>
  <img src="images/tomcat.gif">
  </td>
  <td>
  <h1>Sample Application JSP Page</h1>
  This is the output of a JSP page that is part of the Hello, World
  application.  It displays several useful values from the request
  we are currently processing.
  </td>
  </tr>
  </table>
  
  <table border="0" border="100%">
  <tr>
    <th align="right">Context Path:</th>
    <td align="left"><%= request.getContextPath() %></td>
  </tr>
  <tr>
    <th align="right">Path Information:</th>
    <td align="left"><%= request.getPathInfo() %></td>
  </tr>
  <tr>
    <th align="right">Query String:</th>
    <td align="left"><%= request.getQueryString() %></td>
  </tr>
  <tr>
    <th align="right">Request Method:</th>
    <td align="left"><%= request.getMethod() %></td>
  </tr>
  <tr>
    <th align="right">Servlet Path:</th>
    <td align="left"><%= request.getServletPath() %></td>
  </tr>
  </table>
  </body>
  </html>
  
  
  
  1.1                  jakarta-tomcat/src/doc/appdev/sample/web/index.html
  
  Index: index.html
  ===================================================================
  <html>
  <head>
  <title>Sample "Hello, World" Application</title>
  </head>
  <body bgcolor=white>
  
  <table border="0">
  <tr>
  <td>
  <img src="images/tomcat.gif">
  </td>
  <td>
  <h1>Sample "Hello, World" Application</h1>
  <p>This is the home page for a sample application used to illustrate the
  source directory organization of a web application utilizing the principles
  outlined in the Application Developer's Guide.
  </td>
  </tr>
  </table>
  
  <p>To prove that they work, you can execute either of the following links:
  <ul>
  <li>To a <a href="hello.jsp">JSP page</a>.
  <li>To a <a href="hello">servlet</a>.
  </ul>
  
  </body>
  </html>
  
  
  
  1.1                  jakarta-tomcat/src/doc/appdev/sample/web/images/tomcat.gif
  
  	<<Binary file>>