Java Server and Servlet

judgedrunkshipServers

Nov 17, 2013 (3 years and 8 months ago)

99 views

Java Server and Servlet

CS616 Team 9

Kim Doyle, Susan Kroha,

Arunima Palchowdhury, Wei Xu


History


What is a Java Server/Servlet


Architecture


Pros and Cons


Existing Java Servers


Conclusion

Java Server and Servlet

History


Web has undergone rapid changes


E
-
Commerce


Transition from static to dynamic
environment


Birth of Common Gateway Interface (CGI)


CGI languages include


Perl


C, C++


Visual Basic Script


CGI Pros and Cons

Browser

HTTP

Web Server

CGI bin

Process

HTML

Database


Insecure


Platform dependent


Inefficient


CGI vs. Servlet


Servlet is Sun’s solution for CGI


Both generate dynamic contents


Servlet is light


Servlet is secure


Servlet is platform independent


Servlet has better support for reusable
component

Java Server Definition


An instance of Java Virtual Machine


One Java Server can support multiple
concurrent services


Java Server can start:


administrative services


HTTP services


web proxy services


Services are configured when server
process is initiated




Java Servlet Definition


Java class that runs in JVM associated
with Server


Java object that conforms to a specific
interface defined by the server
architecture


Loaded and invoked by services


Multithreading


Extends the functionality of the server






Server and Servlet Interaction

Browser

HTTP

Web Server

Servlet Engine

Servlets

HTML

Database

Application

Business Log.

Demo and Servlet Life Cycle

Application Server

Servlet Engine

Init()

Service ()

doGet ()

doPost ()

Destroy()

Do… ()

link to Utopia

HttpResponse

HttpRequest

PrintWriter

link to Laptop

Simple Sample (Hello World)

import java.io.*;

import javax.servlet.*;

import javax.servlet.http.*;


public class HelloWorld extends HttpServlet {



public void
doGet
(
HttpServletRequest

request,
HttpServletResponse
response) throws IOException, ServletException {
response.
setContentType
("text/html");


PrintWriter

out = response.getWriter();


out.println("<html><head><title>");



out.println("Hello World!</title>");


out.println("</head><body>");


out.println("<h1>Hello World!</h1>");


out.println("</body></html>");

}}


Servlet Functions


Reads data sent by user


Looks up information from HTTP request


Connects to database


Invokes legacy application


Executes RMI or CORBA calls


Executes algorithm


Formats document


Sends document back to clients

Servlets

Algorithm

JDBC


PANDA

Project Group Assignment
Servlets in Action

Tomcat

HTTP

Link to Laptop

link to Utopia

Servlet with Synchronization…

public class
AlgorithmRequest

extends HttpServlet {


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



PrintWriter output;




response.setContentType("text/html");



output = response.getWriter();




if(getConnection()){




String SemesterCourse =




request.
getParameter
("SEMESTERCOURSE");




synchronized
(this) { AlgorithmControl ac =
new

AlgorithmControl(SemesterCourse);

…………………………………………

Servlet Advantanges


Convenient


Efficient (light weight thread, memory)


Inexpensive


Keep intellectual properties on the server


Portable


Powerful


Secure


Server Advantanges


Efficient


Memory management


Light weight


Platform independent


Thread
-
safe






Server Considerations


Java is slower than C++


However, Java server uses threads







WebSphere from IBM


WebLogic from BEA


9i Application Server from Oracle


Jrun from Allaire


iPlanet from Sun


Tomcat from Apache







Java Servers or Engines

Apache and Tomcat


Industrial strength Web server


Tomcat is a servlet engine that can be
plugged in with Apache


Apache and Tomcat can be down loaded
from http://jakarta.apache.org










FREE!

Servlet vs. PHP


PHP also free open source


PHP consists of tags in HTML document


Servlet is more widely supported


Servlet is written in Java with extensive
API for:


database access


distributed objects


networking









Servlet vs. ASP


ASP is a competing technology from
Microsoft


Servlet is portable to


other operating systems


web servers


Servlet is more powerful for complex
applications


Better support for reusable components








Conclusion


Java server and servlet are


Economical


Portable


Powerful


Secure









Thank You