Tomcat and ServletsTutorial OverviewTomcat OverviewTomcat SystemSetting Up Tomcat on CDFStart Tomcat ServerStop Tomcat ServerDirectory StructureInstalling and Compiling ServletsHelloWorld InterfaceAdding a Servlet to a Web ApplicationPrintEnv InterfaceSysdeo Eclipse Tomcat Launcher pluginSoftware PrerequisiteSetup Tomcat in EclipseHelloWorld ExampleHelloServletWeb.xmlTomcat and ServletsHaifeng LiuTutorial Overview Tomcat Overview Setting Up and Running Tomcat on CDF Installing and Running Servlets on CDF Setting up Sysdeo Eclipse Tomcat Launcher plugin FAQ?Tomcat Overview Tomcat is the servlet container History: ASF: JServ – performance Sun: Servlet Engine -- specification Requirements and Quality Goals: Strict adherence to Sun’s JSP/Servlet specification, Interoperability, Modifiability, Performance, Scalability, High-Availability, Security, …--- Jakarta TomcatTomcat SystemSetting Up Tomcat on CDF Status: Installed with user privileges in /u/csc309h/lib/brad/tomcat-5.0.27 Step 1 – go to website, read instructionshttp://www.cs.toronto.edu/~delara/courses/csc309/resources/csc309guide.html#WebServer Step 2 – download the tar file tomcat.tar.gz Step 3 – untar it (tar xvz tomcat.tar.gz) and copy the files into a working directory which is refered ase.g. ~/csc309/ Inside tomcat:Bin, conf, logs, webapps, workStart Tomcat Server Step 1 -- cd ~/csc309/tomcat/bin Step 2 -- Run the script start.sh (may need to chmod a+x *.sh ) ./start.sh Step 3 -- Enter the port number. Tomcat will use 3 ports, the number entered and the next two (e.g., if you are assigned port 32000, tomcat will use 32000, 32001, 32002). Step 4 – check /bin/ps -ef | grep your_user_id Step 5 – view http://localhost:your_port_numberStop Tomcat Server To stop your server, run bin/stop.sh. Always remember to stop your server before logging off CDF.Directory Structure Bin – Startup/shutdown scripts and other useful files. Conf – Configuration files, including modules.xml, server.xml, and a number of apps-<name>.xml. Logs – event log file for each day Webapps – web application files Wok -- intermediate files (such as compiled JSP files) during its work. If you delete this directory while Tomcat is running you will not be able to execute JSP pages!Installing and Compiling Servlets Step 1 -- Download the sample files, untar it, put into webapps Step 2 -- Compile the Java class Include the following jar file in your CLASSPATH /u/csc309h/lib/tomcat-5.0.27/common/lib/servlet-api.jar. setenv CLASSPATH ${CLASSPATH}: /u/csc309h/lib/tomcat-5.0.27/common/lib/servlet-api.jar cd ~/csc309/tomcat/webapps/csc309/WEB-INF/classes Compile the servlet javac HelloWorld.java Step 3 -- Start Tomcat Step 4 – Start Browser: http://127.0.0.1:yourPortNumber/csc309/servlet/HelloWorldHelloWorld InterfaceAdding a Servlet to a Web Application Step 1 – Download PrintEnv.java and copy it to ~/csc309/tomcat/webapps/csc309/WEB-INF/classes Step 2 -- Compile PrintEnv.java Step 3 – Add the following entries to the application descriptor located at ~/csc309/tomcat/webapps/csc309/WEB-INF/web.xml. <servlet> <servlet-name>PrintEnv</servlet-name> <servlet-class>PrintEnv</servlet-class> </servlet> <servlet-mapping> <servlet-name>PrintEnv</servlet-name> <url-pattern>/servlet/PrintEnv</url-pattern> </servlet-mapping> Step 4 -- Restart Tomcat Step 5 – Open browser to http://127.0.0.1:yourPortNumber/csc309/servlet/PrintEnvPrintEnv InterfaceSysdeo Eclipse Tomcat Launcher plugin Starting, stopping and restarting Tomcat 4.x, 5.0.x, 3.3 Registering Tomcat process to Eclipse debugger Creating a WAR project (wizard can update server.xml file) Adding Java Projects to Tomcat classpath Setting Tomcat JVM parameters, classpath and bootclasspath Exporting a Tomcat project to a WAR File Choosing Tomcat configuration file Capability to use a special Tomcat classloader to have classes in several java projects loaded at the same classloader level than classes in a Tomcat project, see readmeDevLoader.html(Thanks Martin Kahr)Software Prerequisite Tomcat Server –”http://jakarta.apache.org/tomcat/” Eclipse 3.X –“http://www.eclipse.org/downloads/index.php ” Sysdeo Eclipse tomcat Launcher plugin --”http://www.sysdeo.com/eclipse/tomcatPlugin.html”Setup Tomcat in Eclipse Enable tomcat Go to the menu "Window-> Preferences" go to "Tomcat" and select your Tomcat version adjust the field "Tomcat Home" to point to the install directory Add a new user scroll down the menu point "Tomcat" and click the item "Tomcat Manager App" add a username and a password click on "Add user to tomcat-users.xml" Test Start Tomcat ServerHelloWorld Example Open a new project select "Tomcat Project"..., click Next button call our new project "Hello World" adjust URI http://localhost:8080/HelloWorld/hello create a new class named HelloServlet in the directory WEB-INF/src create the file web.xml in the directory WEB-INF (Note: not in WEB-INF/src!!!) Start browser "http://localhost:8080/HelloWorld/hello"HelloServletimport java.io.*;import javax.servlet.http.*;import javax.servlet.*;public class HelloServlet extends HttpServlet {public void doGet (HttpServletRequest req,HttpServletResponse res) throws ServletException, IOException {PrintWriter out = res.getWriter();out.println("Hello, Brave new World!");out.close();}}Web.xml<!DOCTYPE web-app PUBLIC'-//Sun Microsystems, Inc.//DTD Web Application
View Full Document