Course Outcomes of
Advanced Java Programming AJP (17625, C603)
C603.1 Design GUI using AWT and Swing .
C603.2 Develop program using event handling.
C603.3 Use network concepts (client/server, socket) in the
program.
C603.4 Develop program using JDBC connectivity to access data
from database and execute different queries to get
required result.
C603.5 Develop web based program using servlet and JSP
Visit for more Learning Resources
Java Servlets and JSP
Server-side Java for the web
a servlet is a Java program which outputs an html
page; it is a server-side technology
HTTP Request Server-side Request
Java Servlet
HTTP Response Response Header + Java Server Page
Html file
browser
web server
servlet container
(engine) - Tomcat
First java servlet
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class FirstServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title>First servlet</title>");
out.println("</head>");
out.println("<body>");
out.println("It works...<hr>");
out.println("</body>");
out.println("</html>");
}
}
What is a java servlet ?
a java servlet is a java class extending HTTPServlet
class
a java servlet class implements the doGet(), doPost()
or other equivalent HTTP method and (usually) prints
at the standard output an html file
a java servlet class can contain any kind of java code
the JDK can compile
a java servlet class needs to be compiled prior to using
it; it must use servlet-api.jar
Apache Tomcat
the most well known servlet/jsp container
is a web server + implementation of Java Servlet and
JSP (Java Server Pages) APIs
is developed by Apache Software Foundation
available at http://tomcat.apache.org/ under Apache
Software License
Installing Tomcat
1. Download the binary zip distribution (e.g. apache-
tomcat-6.0.20.zip) in a local folder (we will use c:\temp
in the rest of the guide)
2. Set the environment variables
JAVA_HOME=path_to_JDK_installation_folder
CATALINA_HOME=path_to_tomcat_installation_folder
either as Windows system variables or in the files
startup.bat and shutdown.bat from the bin directory
Ex. place the following lines in the beginning of startup.bat
and shutdown.bat:
set JAVA_HOME=c:\progra~1\java\jdk1.6.0
set CATALINA_HOME=c:\temp\apache-tomcat-6.0.20
Starting/shutting down Tomcat
start Tomcat from a cmd prompter (window):
c:\temp\apache-tomcat-6.0.20\bin\startup.bat
verify startup by pointing a browser to the url
http://localhost:8080
shutting down Tomcat from a cmd prompter
(window):
c:\temp\apache-tomcat-6.0.20\bin\shutdown.bat
Tomcat standard folders
bin – contains executable files for controlling the server
(start, shut down etc.)
conf – contains configuration files; most important
server.xml for configuring the server and web.xml a
general configuration file for web applications
lib – libraries (jars) used by tomcat and deployed web
applications
logs – log files
temp – temporary files
webapps – contains the web applications deployed
work – contains files created by tomcat during running
(e.g. it crates a servlet from each jsp file)
Format of a web application
web applications are stored in the webapps folder,
either as a folder or as a .war archive
a web application (either a folder or a .war archive)
must contain the following files:
WEB-INF folder
WEB-INF\web.xml: a configuration file
optionally the WEB-INF folder can contain the following
subfolders:
classes: which contain servlets
lib: which contains jars used by the web application
html, jsp and resource files can be placed anywhere in
the web application home folder
servlets must be placed in the folder or subfolders of
WEB-INF\classes
A very simple web.xml example
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd version="2.5">
</web-app>
Configuring servlets
for JSPs (Java Server Pages) no additional
configuration needs to be done
for java servlets additional lines must be placed in the
web.xml file:
<servlet>
<servlet-name>ServletsName</servlet-name>
<servlet-class>The_Class_Name_of_the_Servlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name> ServletsName </servlet-name>
<url-pattern>/URL_of_the_servlet</url-pattern>
</servlet-mapping>
First JSP file
<html>
<body>
<%
out.println(“First JSP… It works<br/>");
%>
</body>
</html>
What is a Java Server Page (JSP)
an html file containing parts of java code; the java code
is placed inside the “<% … %>” tags or some other
related tags
Tomcat will create a servlet from the jsp file (which will
be saved in the work folder)
when the jsp is requested the servlet is executed and
the output of the server is sent back to the client
Additional documentation
for Servlets:
http://www.cs.ubbcluj.ro/~florin/PDPJ/ExempleSurseDocumentatii/07JavaServlet.pdf
for JSP:
http://www.cs.ubbcluj.ro/~florin/PDPJ/ExempleSurseDocumentatii/08JavaServerPages.pdf
examples of both:
http://www.cs.ubbcluj.ro/~forest/wp/JSP%20Servlet%20examples
For more detail contact us