Top Banner
Java Server and Servlet CS616 Team 9 Kim Doyle, Susan Kroha, Arunima Palchowdhury, Wei Xu
22

Java Server and Servlet CS616 Team 9 Kim Doyle, Susan Kroha, Arunima Palchowdhury, Wei Xu.

Dec 22, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Java Server and Servlet CS616 Team 9 Kim Doyle, Susan Kroha, Arunima Palchowdhury, Wei Xu.

Java Server and Servlet

CS616 Team 9

Kim Doyle, Susan Kroha,

Arunima Palchowdhury, Wei Xu

Page 2: 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

Page 3: Java Server and Servlet CS616 Team 9 Kim Doyle, Susan Kroha, Arunima Palchowdhury, Wei Xu.

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

Page 4: Java Server and Servlet CS616 Team 9 Kim Doyle, Susan Kroha, Arunima Palchowdhury, Wei Xu.

CGI Pros and Cons

Browser

HTTP

Web Server

CGI bin

Process

HTML

Database

•Insecure

•Platform dependent

•Inefficient

Page 5: Java Server and Servlet CS616 Team 9 Kim Doyle, Susan Kroha, Arunima Palchowdhury, Wei Xu.

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

Page 6: Java Server and Servlet CS616 Team 9 Kim Doyle, Susan Kroha, Arunima Palchowdhury, Wei Xu.

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

      

Page 7: Java Server and Servlet CS616 Team 9 Kim Doyle, Susan Kroha, Arunima Palchowdhury, Wei Xu.

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

      

Page 8: Java Server and Servlet CS616 Team 9 Kim Doyle, Susan Kroha, Arunima Palchowdhury, Wei Xu.

Server and Servlet Interaction

Browser

HTTP

Web Server

Servlet Engine

Servlets

HTML

Database

Application

Business Log.

Page 9: Java Server and Servlet CS616 Team 9 Kim Doyle, Susan Kroha, Arunima Palchowdhury, Wei Xu.

Demo and Servlet Life Cycle

Application Server

Servlet Engine

Init()

Service ()doGet ()

doPost ()

Destroy()

Do… ()

link to Utopia

HttpResponse

HttpRequest

PrintWriter

link to Laptop

Page 10: Java Server and Servlet CS616 Team 9 Kim Doyle, Susan Kroha, Arunima Palchowdhury, Wei Xu.

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>");

}}

Page 11: Java Server and Servlet CS616 Team 9 Kim Doyle, Susan Kroha, Arunima Palchowdhury, Wei Xu.

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

Page 12: Java Server and Servlet CS616 Team 9 Kim Doyle, Susan Kroha, Arunima Palchowdhury, Wei Xu.

Servlets

Algorithm

JDBC

PANDA

Project Group Assignment Servlets in Action

Tomcat

HTTP

Link to Laptoplink to Utopia

Page 13: Java Server and Servlet CS616 Team 9 Kim Doyle, Susan Kroha, Arunima Palchowdhury, Wei Xu.

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); …………………………………………

Page 14: Java Server and Servlet CS616 Team 9 Kim Doyle, Susan Kroha, Arunima Palchowdhury, Wei Xu.

Servlet Advantanges

• Convenient

• Efficient (light weight thread, memory)

• Inexpensive

• Keep intellectual properties on the server

• Portable

• Powerful

• Secure

Page 15: Java Server and Servlet CS616 Team 9 Kim Doyle, Susan Kroha, Arunima Palchowdhury, Wei Xu.

Server Advantanges

• Efficient Memory management Light weight

• Platform independent

• Thread-safe

Page 16: Java Server and Servlet CS616 Team 9 Kim Doyle, Susan Kroha, Arunima Palchowdhury, Wei Xu.

Server Considerations

• Java is slower than C++

• However, Java server uses threads

Page 17: Java Server and Servlet CS616 Team 9 Kim Doyle, Susan Kroha, Arunima Palchowdhury, Wei Xu.

• WebSphere from IBM

• WebLogic from BEA

• 9i Application Server from Oracle

• Jrun from Allaire

• iPlanet from Sun

• Tomcat from Apache

Java Servers or Engines

Page 18: Java Server and Servlet CS616 Team 9 Kim Doyle, Susan Kroha, Arunima Palchowdhury, Wei Xu.

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!

Page 19: Java Server and Servlet CS616 Team 9 Kim Doyle, Susan Kroha, Arunima Palchowdhury, Wei Xu.

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

Page 20: Java Server and Servlet CS616 Team 9 Kim Doyle, Susan Kroha, Arunima Palchowdhury, Wei Xu.

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

Page 21: Java Server and Servlet CS616 Team 9 Kim Doyle, Susan Kroha, Arunima Palchowdhury, Wei Xu.

Conclusion

• Java server and servlet are Economical Portable Powerful Secure

Page 22: Java Server and Servlet CS616 Team 9 Kim Doyle, Susan Kroha, Arunima Palchowdhury, Wei Xu.

Thank You