DOC PREVIEW
Penn CIT 597 - Tomcat

This preview shows page 1-2-3-4-5 out of 16 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 16 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 16 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 16 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 16 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 16 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 16 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

TomcatThe Apache Jakarta ProjectGetting TomcatWeb appsDirectoriesPackagesTomcat directory structureMy filesmyWebForm.htmlweb.xmlServlet without JSPServlet with JSPJSP (result.jsp)FlowAlternatives to TomcatThe EndJan 14, 2019Tomcat2The Apache Jakarta ProjectThe Apache Jakarta Project “creates and maintains open source solutions on the Java platform for distribution to the public at no charge”Apache Jakarta Tomcat--or just “Tomcat”--is one of those projectsTomcat is a container for servletsTomcat can act as a simple standalone server for Web applications that use HTML, servlets, and JSPApache is an industrial-strength, highly optimized server that can be extended with Tomcat3Getting TomcatThe Apache Jakarta website is hard to navigateIf you want to get Tomcat, one reasonable download site is http://mirrors.xtria.com/apache/jakarta/tomcat-5/v5.0.29/bin/You would need the whole “tarball”, which will have a name such as jakarta-tomcat-5.0.29.tar.gzAn excellent tutorial site is Configuring & Using Apache Tomcat, http://www.coreservlets.com/Apache-Tomcat-Tutorial/This site also contains many examples you can use to test your installationInstalling Tomcat by itself is much easier than installing Apache and then adding Tomcat to it4Web appsA web application is basically a web site that:“Knows who you are”--it doesn’t just give you static pages, it interacts with youCan permanently change data (such as in a database)A web application can consist of multiple piecesStatic web pages (possibly containing forms)ServletsJSPTomcat organizes all these parts into a single directory structure for each web application...but you have to help with the organization5DirectoriesTo create servlets, you really should have two directory structures:A development directory, in which you can write and partially debug your codeA deployment directory, in which you put “live” codeTomcat requires a particular set of directories for your web applicationIt is extremely picky about having everything in the right place!Since your web application must typically co-exist with other web applications, you should use packages to avoid name conflictsThis further complicates the Tomcat directory structure6PackagesA package statement in Java must be the very first line of code in the fileExample:package com.example.model;import javax.servlet.*;import javax.servlet.http.*;import java.io.*;public class MyServlet extends HttpServlet { ... }This implies thatThis program is in a file named MyServlet.java, which isin a directory named model, which isin a directory named example, which isin a directory named com7Tomcat directory structure myApplicationDirectory/ -- this is your top level directory myWebForm.html myJspPage.jsp WEB-INF/ -- must have this directory, named exactly like this lib/ -- mostly for external .jar files classes/ -- must have this directory, named exactly like this com/ -- The com.example.model package directory example/ model/ myModel.class -- in package com.example.model; web/ myServlet.class --in package com.example.web; web.xml -- this is the deployment descriptor, it must have this name8My filesmyWebForm.htmlThis is the web page with a form that starts up the servletcom/example/web/myServlet.classThis is the servlet I intend to use; it will use the myModel class, but to do this it needs an import statement:import com.example.model.myModel;com/example/model/myModel.classThis does the “business logic” it is good form to keep it separatemyJspPage.jspThe (optional) JSP page to create the HTML output (could be done directly by myServlet)web.xmlA file required by Tomcat to tell it what class to start with and how to refer to that class9myWebForm.html<html> ... <body> ... <form method="POST" action="NameSeenByUser.do"> ...various form elements... </form> ... </body></html>10web.xml<?xml version="1.0" encoding="ISO-8859-1"?><web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation= "http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4"> <servlet> <servlet-name>Some internal name</servlet-name> <servlet-class>com.example.web.MyServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>Some internal name</servlet-name> <url-pattern>/NameSeenByUser.do</url-pattern> </servlet-mapping> </web-app>11Servlet without JSPpublic class MyServlet extends HttpServlet { public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); String value = request.getParameter("name"); out.println("<html><body>I got: " + name + " = " + value + "</body></html>"); }}12Servlet with JSPpublic class MyServlet extends HttpServlet { public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { String value = request.getParameter("name"); ...computation resulting in some Object obj... request.setAttribute(”objName", obj); RequestDispatcher view = request.getRequestDispatcher("result.jsp"); view.forward(request, response); }}13JSP (result.jsp)<%@ page import="java.util.*" %><html><head><title>Your results</title></head><body><% MyObject object = (MyObject)request.getAttribute("objName"); String someResult = ...computations using object... out.print("<br>And the answer is: " + someResult);%></body></html>14FlowThe user submits an HTML formTomcat finds the servlet based on the URL and the deployment descriptor (web.xml) and passes the request to the servletThe servlet computes a responseEither:The servlet writes an HTML page containing the responseOr:The servlet forwards the response to the JSPThe JSP embeds the response in an HTML pageTomcat returns the HTML page to the user15Alternatives to TomcatSun’s Java Web ServerOld, no longer being developed, all in JavaJava Web Server Development Kit (JWSDK)Official reference implementationDifficult to install and configureJBossOpen sourceOpinions vary on how easy it is to installComes with built-in database16The


View Full Document

Penn CIT 597 - Tomcat

Documents in this Course
DOM

DOM

21 pages

More DOM

More DOM

11 pages

Rails

Rails

33 pages

DOM

DOM

21 pages

RELAX NG

RELAX NG

31 pages

RELAX NG

RELAX NG

31 pages

RELAX NG

RELAX NG

31 pages

RELAX NG

RELAX NG

31 pages

Rake

Rake

12 pages

Ruby

Ruby

58 pages

DOM

DOM

21 pages

DOM

DOM

21 pages

Servlets

Servlets

29 pages

Logging

Logging

17 pages

Html

Html

27 pages

DOM

DOM

22 pages

RELAX NG

RELAX NG

30 pages

Servlets

Servlets

28 pages

XHTML

XHTML

13 pages

DOM

DOM

21 pages

DOM

DOM

21 pages

Servlets

Servlets

26 pages

More CSS

More CSS

18 pages

Servlets

Servlets

29 pages

Logging

Logging

17 pages

Load more
Download Tomcat
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Tomcat and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Tomcat 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?