|  | <html> | 
|  | <head> | 
|  | <meta | 
|  | http-equiv="Content-Type" | 
|  | content="text/html; charset=UTF-8"> | 
|  | <meta | 
|  | http-equiv="Content-Type" | 
|  | content="text/html; charset=iso-8859-1"> | 
|  | <link | 
|  | rel="stylesheet" | 
|  | href="../../../../../default_style.css" | 
|  | type="text/css"> | 
|  | <link | 
|  | rel="stylesheet" | 
|  | href="../../../../../webtools/wtp.css" | 
|  | type="text/css"> | 
|  | <title>jst j2ee</title> | 
|  | </head> | 
|  | <body> | 
|  | <table | 
|  | width="100%" | 
|  | cellspacing="5" | 
|  | cellpadding="2" | 
|  | border="0"> | 
|  | <tbody> | 
|  | <tr> | 
|  | <td | 
|  | width="60%" | 
|  | align="left"><font class="indextop">WTP Tutorials - Testing the Creation of Annotated and | 
|  | Non-Annotated Servlets in the Web Tools Project</font> <br> | 
|  | <font class="indexsub">jst j2ee</font></td> | 
|  | <td width="40%"><img | 
|  | width="207" | 
|  | hspace="50" | 
|  | height="129" | 
|  | align="middle" | 
|  | src="../../../../../webtools/images/wtplogosmall.jpg" | 
|  | alt=""></td> | 
|  | </tr> | 
|  | </tbody> | 
|  | </table> | 
|  | <table | 
|  | width="100%" | 
|  | cellspacing="5" | 
|  | cellpadding="2" | 
|  | border="0"> | 
|  | <col width="16"> | 
|  | <col width="*"> | 
|  | <tbody> | 
|  | <tr> | 
|  | <td | 
|  | valign="top" | 
|  | align="right"> </td> | 
|  | <td valign="top"> | 
|  | <p><b>John Lanuti </b> <br> | 
|  | IBM Rational <br> | 
|  | February 24,2005 <br> | 
|  | <br> | 
|  | <br> | 
|  | This tutorial will show you how to set up, create, and deploy a simple Hello World servlet on the Tomcat | 
|  | server using the Eclipse Web Tools Project. <br> | 
|  | </p> | 
|  | </td> | 
|  | </tr> | 
|  | <tr> | 
|  | <td | 
|  | valign="top" | 
|  | bgcolor="#0080c0" | 
|  | align="left" | 
|  | colspan="2"><b><font | 
|  | face="Arial,Helvetica" | 
|  | color="#ffffff">Prerequisites For The Tutorial</font></b></td> | 
|  | </tr> | 
|  | <tr> | 
|  | <td | 
|  | valign="top" | 
|  | align="right"> </td> | 
|  | <td valign="top"> | 
|  | <ol> | 
|  | <li>Web Tools Platform (WTP) project<br> | 
|  | The WTP project can be downloaded from <a href="http://download.eclipse.org/webtools/downloads/">http://download.eclipse.org/webtools/downloads/</a> | 
|  | <br> | 
|  | <br> | 
|  | </li> | 
|  | <li>XDoclet 1.2.2<br> | 
|  | XDoclet is available from <a | 
|  | href="http://xdoclet.sourceforge.net" | 
|  | target="_top">http://xdoclet.sourceforge.net</a> <br> | 
|  | <br> | 
|  | </li> | 
|  | <li>Tomcat Server<br> | 
|  | Tomcat is available from <a | 
|  | href="http://jakarta.apache.org/tomcat/" | 
|  | target="_top">http://jakarta.apache.org/tomcat/</a> <br> | 
|  | <br> | 
|  | </li> | 
|  | <li>JDK 1.4.2<br> | 
|  | Sun's JDK is available from <a | 
|  | href="http://java.sun.com/j2se/1.4.2/download.html" | 
|  | target="_top">http://java.sun.com/j2se/1.4.2/download.html</a> <br> | 
|  | <br> | 
|  | </li> | 
|  | </ol> | 
|  | </td> | 
|  | </tr> | 
|  | <tr> | 
|  | <td | 
|  | valign="top" | 
|  | bgcolor="#0080c0" | 
|  | align="left" | 
|  | colspan="2"><b><font | 
|  | face="Arial,Helvetica" | 
|  | color="#ffffff">Workspace Configuration </font></b></td> | 
|  | </tr> | 
|  | <tr> | 
|  | <td | 
|  | valign="top" | 
|  | align="right"> </td> | 
|  | <td valign="top"><br> | 
|  | </td> | 
|  | </tr> | 
|  | <tr> | 
|  | <td | 
|  | valign="top" | 
|  | align="right"> </td> | 
|  | <td valign="top"> | 
|  | <ol> | 
|  | <li>Open the J2EE Perspective. Window->Open Perspective->Other...->J2EE.</li> | 
|  | <li>Set up XDoclet preferences. Window->Preferences->J2EE Annotations->XDoclet. Make sure | 
|  | the "Enable XDoclet Builder" option is checked. Select your desired version level and navigate to your | 
|  | XDoclet home directory. Hit OK. <br> | 
|  | <br> | 
|  | <img | 
|  | src="images/ServletScenario_Image22.jpg" | 
|  | alt=""><br> | 
|  | <br> | 
|  | </li> | 
|  | <li>Add the Tomcat server. Window->Preferences->Server->Installed Runtimes. Hit the "Add" | 
|  | button. <br> | 
|  | <br> | 
|  | <img | 
|  | src="images/ServletScenario_Image14.jpg" | 
|  | alt=""><br> | 
|  | <br> | 
|  | </li> | 
|  | <li>Select the appropriate Apache Tomcat level for your Tomcat server and hit the "Next" button. | 
|  | Fill in the appropriate Tomcat home directory. Hit the "Finish" button.<br> | 
|  | <br> | 
|  | <img | 
|  | src="images/ServletScenario_Image13.jpg" | 
|  | alt=""><br> | 
|  | <br> | 
|  | </li> | 
|  | </ol> | 
|  | </td> | 
|  | </tr> | 
|  | <tr> | 
|  | <td | 
|  | valign="top" | 
|  | align="right"> </td> | 
|  | <td valign="top"><br> | 
|  | </td> | 
|  | </tr> | 
|  | <tr> | 
|  | <td | 
|  | valign="top" | 
|  | align="right"> </td> | 
|  | <td valign="top"><br> | 
|  | </td> | 
|  | </tr> | 
|  | <tr> | 
|  | <td | 
|  | valign="top" | 
|  | bgcolor="#0080c0" | 
|  | align="left" | 
|  | colspan="2"><b><font | 
|  | face="Arial,Helvetica" | 
|  | color="#ffffff">Dynamic Web Project Creation</font></b></td> | 
|  | </tr> | 
|  | <tr> | 
|  | <td | 
|  | valign="top" | 
|  | align="right"> </td> | 
|  | <td valign="top"><br> | 
|  | </td> | 
|  | </tr> | 
|  | <tr> | 
|  | <td | 
|  | valign="top" | 
|  | align="right"> </td> | 
|  | <td valign="top"><br> | 
|  | </td> | 
|  | </tr> | 
|  | <tr> | 
|  | <td | 
|  | valign="top" | 
|  | align="right"> </td> | 
|  | <td valign="top"> | 
|  | <ol> | 
|  | <li>From the J2EE Project Explorer, right click on the "Dynamic Web Projects" group. Select | 
|  | New->Dynamic Web Project. <br> | 
|  | <br> | 
|  | <img | 
|  | src="images/ServletScenario_Image1.jpg" | 
|  | alt=""> <br> | 
|  | <br> | 
|  | </li> | 
|  | <li>Type the project name, "HelloWorld". Make sure the "Add Module to EAR project" selection is | 
|  | unchecked. Tomcat does not support the use of EAR projects so we will only make a stand alone web | 
|  | application. <br> | 
|  | <br> | 
|  | <img | 
|  | src="images/ServletScenario_Image2.jpg" | 
|  | alt=""><br> | 
|  | <br> | 
|  | </li> | 
|  | <li>Ensure the appropriate servlet version is selected to match your level of Tomcat. Hit finish.</li> | 
|  | </ol> | 
|  | </td> | 
|  | </tr> | 
|  | <tr> | 
|  | <td | 
|  | valign="top" | 
|  | align="right"> </td> | 
|  | <td valign="top"><br> | 
|  | </td> | 
|  | </tr> | 
|  | <tr> | 
|  | <td | 
|  | valign="top" | 
|  | align="right"> </td> | 
|  | <td valign="top"><br> | 
|  | </td> | 
|  | </tr> | 
|  | <tr> | 
|  | <td | 
|  | valign="top" | 
|  | bgcolor="#0080c0" | 
|  | align="left" | 
|  | colspan="2"><b><font | 
|  | face="Arial,Helvetica" | 
|  | color="#ffffff"> Non Annotated Servlet Creation </font></b></td> | 
|  | </tr> | 
|  | <tr> | 
|  | <td | 
|  | valign="top" | 
|  | align="right"> </td> | 
|  | <td valign="top"><br> | 
|  | </td> | 
|  | </tr> | 
|  | <tr> | 
|  | <td | 
|  | valign="top" | 
|  | align="right"> </td> | 
|  | <td valign="top"> | 
|  | <ol> | 
|  | <li>Expand the "Dynamic Web Projects" group to the HelloWorld web project, and then to the | 
|  | "Servlets" catgeory.</li> | 
|  | <li>Right click on "Servlets" and select New->Servlet. <br> | 
|  | <br> | 
|  | <img | 
|  | src="images/ServletScenario_Image3.jpg" | 
|  | alt=""><br> | 
|  | <br> | 
|  | </li> | 
|  | <li>Type "test" in as the default java package. Type the Servlet Name, "HelloWorld". Uncheck the | 
|  | "Generate an annotated servlet class" checkbox. Hit next. <br> | 
|  | <br> | 
|  | <img | 
|  | src="images/ServletScenario_Image5.jpg" | 
|  | alt=""><br> | 
|  | <br> | 
|  | </li> | 
|  | <li>Take all the defaults. Hit next. <br> | 
|  | <br> | 
|  | <img | 
|  | src="images/ServletScenario_Image4.jpg" | 
|  | alt=""><br> | 
|  | <br> | 
|  | </li> | 
|  | <li>Select the doDelete and doPut method checkboxes in addition to the defaults. <br> | 
|  | <br> | 
|  | <img | 
|  | src="images/ServletScenario_Image6.jpg" | 
|  | alt=""><br> | 
|  | <br> | 
|  | </li> | 
|  | <li>Hit "Finish" to create the non annotated servlet.</li> | 
|  | <li>Because it is non-annotated, the web deployment descriptor metadata artifacts will be created | 
|  | for you as well. We can verify their existence by looking in the project explorer "Servlets" section for | 
|  | the HelloWorld web application. The HelloWorld servlet and servlet mapping should now show up.<br> | 
|  | <br> | 
|  | <img | 
|  | src="images/ServletScenario_Image7.jpg" | 
|  | alt=""><br> | 
|  | <br> | 
|  | </li> | 
|  | <li>The servlet java class should also show up with the methods defined that were selected in the | 
|  | wizard. <br> | 
|  | <br> | 
|  | <img | 
|  | src="images/ServletScenario_Image8.jpg" | 
|  | alt=""><br> | 
|  | <br> | 
|  | </li> | 
|  | <li>Double click on the HelloWorld class in the Project Explorer. Add the following code to the | 
|  | doGet method, , as well as an import statement for java.io.PrintWriter:<br> | 
|  | <p>PrintWriter out = new PrintWriter(System.out); <br> | 
|  | out = response.getWriter(); <br> | 
|  | out.println("Hello world!");<br> | 
|  | out.close();</p> | 
|  | </li> | 
|  | <li>Save and close the editor.</li> | 
|  | <br> | 
|  | <br> | 
|  | </ol> | 
|  | </td> | 
|  | </tr> | 
|  | <tr> | 
|  | <td | 
|  | valign="top" | 
|  | bgcolor="#0080c0" | 
|  | align="left" | 
|  | colspan="2"><b><font | 
|  | face="Arial,Helvetica" | 
|  | color="#ffffff">Annotated Servlet Creation </font></b></td> | 
|  | </tr> | 
|  | <tr> | 
|  | <td | 
|  | valign="top" | 
|  | align="right"> </td> | 
|  | <td valign="top"><br> | 
|  | </td> | 
|  | </tr> | 
|  | <tr> | 
|  | <td | 
|  | valign="top" | 
|  | align="right"> </td> | 
|  | <td valign="top"><br> | 
|  | </td> | 
|  | </tr> | 
|  | <tr> | 
|  | <td | 
|  | valign="top" | 
|  | align="right"> </td> | 
|  | <td valign="top"> | 
|  | <ol> | 
|  | <li>Expand the "Dynamic Web Projects" group to the HelloWorld web project, and then to the | 
|  | "Servlets" catgeory.</li> | 
|  | <li>Right click on "Servlets" and select New->Servlet. <br> | 
|  | <br> | 
|  | <img | 
|  | src="images/ServletScenario_Image3.jpg" | 
|  | alt=""><br> | 
|  | <br> | 
|  | </li> | 
|  | <li>Type "test" in as the default java package. Type the Servlet Name, "XDcoletHelloWorld". Make | 
|  | sure "Generate an annotated servlet class" is checked. Hit next. <br> | 
|  | <br> | 
|  | <img | 
|  | src="images/ServletScenario_Image11.jpg" | 
|  | alt=""><br> | 
|  | <br> | 
|  | </li> | 
|  | <li>Take the defaults. Hit next. <br> | 
|  | <br> | 
|  | <img | 
|  | src="images/ServletScenario_Image23.jpg" | 
|  | alt=""><br> | 
|  | <br> | 
|  | </li> | 
|  | <li>Select the doDelete and doPut method checkboxes in addition to the defaults. <br> | 
|  | <br> | 
|  | <img | 
|  | src="images/ServletScenario_Image6.jpg" | 
|  | alt=""><br> | 
|  | <br> | 
|  | </li> | 
|  | <li>Hit "Finish" to create the annotated servlet.</li> | 
|  | <li>Because it is annotated, the web deployment descriptor metadata artifacts will be created | 
|  | during a build. The servlet annotated tags will be parsed and the xdoclet engine will generate the | 
|  | web.xml servlet nodel. We can verify their existence by looking in the project explorer "Servlets" | 
|  | section for the HelloWorld web application. The XDocletHelloWorld servlet and servlet mapping should now | 
|  | show up.<br> | 
|  | </li> | 
|  | <li>The servlet java class should also show up with the methods defined that were selected in the | 
|  | wizard. <br> | 
|  | <br> | 
|  | <img | 
|  | src="images/ServletScenario_Image15.jpg" | 
|  | alt=""><br> | 
|  | <br> | 
|  | </li> | 
|  | <li>Double click on the XDocletHelloWorld class in the Project Explorer. Add the following code to | 
|  | the doGet method, as well as an import statement for java.io.PrintWriter:<br> | 
|  | <p>PrintWriter out = new PrintWriter(System.out); <br> | 
|  | out = response.getWriter(); <br> | 
|  | out.println("Hello world!");<br> | 
|  | out.close();</p> | 
|  | </li> | 
|  | <li>Save and close the editor.</li> | 
|  | </ol> | 
|  | </td> | 
|  | </tr> | 
|  | <tr> | 
|  | <td | 
|  | valign="top" | 
|  | align="right"> </td> | 
|  | <td valign="top"><br> | 
|  | </td> | 
|  | </tr> | 
|  | <tr> | 
|  | <td | 
|  | valign="top" | 
|  | align="right"> </td> | 
|  | <td valign="top"><br> | 
|  | </td> | 
|  | </tr> | 
|  | <tr> | 
|  | <td | 
|  | valign="top" | 
|  | bgcolor="#0080c0" | 
|  | align="left" | 
|  | colspan="2"><b><font | 
|  | face="Arial,Helvetica" | 
|  | color="#ffffff">Running the Servlets on the Tomcat Server </font></b></td> | 
|  | </tr> | 
|  | <tr> | 
|  | <td | 
|  | valign="top" | 
|  | align="right"> </td> | 
|  | <td valign="top"><br> | 
|  | </td> | 
|  | </tr> | 
|  | <tr> | 
|  | <td | 
|  | valign="top" | 
|  | align="right"> </td> | 
|  | <td valign="top"> | 
|  | <ol> | 
|  | <li>Select the "HelloWorld" web project. Right click and select Run As->Run on Server... <br> | 
|  | <br> | 
|  | <img | 
|  | src="images/ServletScenario_Image16.jpg" | 
|  | alt=""><br> | 
|  | <br> | 
|  | </li> | 
|  | <li>Choose to manually define a new Server. Select the Apache Tomcat version you have installed. | 
|  | Hit next. <br> | 
|  | <br> | 
|  | <img | 
|  | src="images/ServletScenario_Image17.jpg" | 
|  | alt=""><br> | 
|  | <br> | 
|  | </li> | 
|  | <li>Ensure the Helloworld.war is added to the server. <br> | 
|  | <br> | 
|  | <img | 
|  | src="images/ServletScenario_Image18.jpg" | 
|  | alt=""><br> | 
|  | <br> | 
|  | </li> | 
|  | <li>Hit Finish.</li> | 
|  | <li>Make sure if you double click the Tomcat server instance that the HelloWorld project is | 
|  | configured correctly. Edit and restart. <br> | 
|  | <br> | 
|  | <img | 
|  | src="images/ServletScenario_Image21.jpg" | 
|  | alt=""> <br> | 
|  | <br> | 
|  | </li> | 
|  | <li>Wait for the Tomcat server to start and the web browser to open. Type | 
|  | http://localhost:8080/HelloWorld/HelloWorld in the address window. Hit enter. <br> | 
|  | <br> | 
|  | <img | 
|  | src="images/ServletScenario_Image19.jpg" | 
|  | alt=""><br> | 
|  | <br> | 
|  | </li> | 
|  | <li>Now try the annotated servlet, http://localhost:8080/HelloWorld/XDocletHelloWorld. <br> | 
|  | <br> | 
|  | <img | 
|  | src="images/ServletScenario_Image20.jpg" | 
|  | alt=""><br> | 
|  | <br> | 
|  | </li> | 
|  | </ol> | 
|  | </td> | 
|  | </tr> | 
|  | </tbody> | 
|  | </table> | 
|  | </body> | 
|  | </html> |