Upload
hilary-sparks
View
229
Download
0
Embed Size (px)
Citation preview
Java Servlets
Lec 27
Creating a SimpleWeb 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
GenericServlet For writing protocol independent servlets
HttpServlet Extends from GenericServlet class Adds functionality for writing HTTP specific servlets
Servlet class hierarchy
Object
GenericServlet ServletResponse
HttpServletRequest
ServerRequest
HttpServlet HttpServletResponse
javax.servlet
javax.servlet.http
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
Types of HTTP Requests
Get Post Delete Options Put Trace
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
HTTP Request Example
Request parameters etc
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)
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
HelloServlet Example Code
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!”);}
}
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>
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
Lets do it LIVE
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