Java Servlets

18
Java Servlets Lec 27

description

Java Servlets. Lec 27. Creating a Simple Web Application in Tomcat. Tomcat Directory Structure. myapp. Tomcat Setup. Folder for HTML and JSP pages. Folder for servlet and other java classes. Servlet Types. Servlets are based on two main packages javax.servlet javax.servlet.http - PowerPoint PPT Presentation

Transcript of Java Servlets

Page 1: Java Servlets

Java Servlets

Lec 27

Page 2: Java Servlets

Creating a SimpleWeb Application in Tomcat

Page 3: Java Servlets

Tomcat Directory Structure

myapp

Page 4: Java Servlets

Tomcat Setup

Folder for HTML and JSP pages

Folder for servlet and other java classes

Page 5: Java Servlets

Servlet Types

Servlets are based on two main packages javax.servlet javax.servlet.http

GenericServlet For writing protocol independent servlets

HttpServlet Extends from GenericServlet class Adds functionality for writing HTTP specific servlets

Page 6: Java Servlets

Servlet class hierarchy

Object

GenericServlet ServletResponse

HttpServletRequest

ServerRequest

HttpServlet HttpServletResponse

javax.servlet

javax.servlet.http

Page 7: Java Servlets

Writing Servlet

Every servlet must implement the javax.servlet.Servlet interface Contains the servlet’s life cycle methods etc.

These are implemented by GenericServlet and HttpServlet classes

Extend your servlet from one of these classes and add your own functionality

public class MyServlet extends GenericServlet

public class HelloServlet extends HttpServlet

Page 8: Java Servlets

Types of HTTP Requests

Get Post Delete Options Put Trace

Page 9: Java Servlets

How HTTP Sends Request

ClientServer

Servlets

Some HTTP request types

• Get -- Attr/Val pairs attached after ? of URL E.g. http://www.gmail.com/register?name=ali

• Post -- Attr/Val pairs attatched with the request body

Page 10: Java Servlets

HTTP Request Example

Request parameters etc

Page 11: Java Servlets

Writing Servlet

Steps for making a HelloWorldServlet

1. Create a directory structure for your application (myapp). This is a one time process for any application

2. Create a HelloWorldServlet source file by extending this class from HttpServlet and override your desired method

3. Compile it (If compiler complains of not having required packages, check your class paths)

Page 12: Java Servlets

Writing Servlet

Steps for making a HelloWorldServlet

1. Place the class file in the classes folder of your webapplication. (myapp) If you are using packages (recommended) then create a complete directory structure under classes folder

2. Create a deployment descriptor (web.xml) and put it inside WEB-INF folder

3. Restart your server, if already running

4. Access your application using Web browser

Page 13: Java Servlets

HelloServlet Example Code

Page 14: Java Servlets

HelloWorldServlet

import java.io.*;import javax.servlet.*;import javax.servlet.http.*;

public class HelloWorldServlet extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

PrintWriter out = response.getWriter(); out.println(“Hello World!”);}

}

Page 15: Java Servlets

web.xml

<?xml version="1.0" encoding="ISO-8859-1"?>

<web-app>

<servlet> <servlet-name>HelloWorldServlet</servlet-name> <servlet-class>HelloWorldServlet</servlet-class> </servlet>

<servlet-mapping> <servlet-name>HelloWorldServlet</servlet-name> <url-pattern>/myfirstservlet</url-pattern> </servlet-mapping>

</web-app>

Page 16: Java Servlets

Compiling and Invoking Servlets

Compile HelloWorldServlet.java using javac command

Put HelloWorldServlet class in

install_dir/webapps/myapp/WEB-INF/classes

Put web.xml file in

install_dir/webapps/myapp/WEB-INF

Invoke your servlet by writing following command in the web browser

http://localhost:8080/myapp/myfirstservlet

Page 17: Java Servlets

Lets do it LIVE

Page 18: Java Servlets

Free Servlet and JSP Engines

Apache Tomcat http://jakarta.apache.org/tomcat/

Allaire/Macromedia JRun http://www.allaire.com/products/jrun

New Atlanta ServletExec http://www.servletexec.com

Causho’s Resin http://www.caucho.com