Introduction to Servlet JSP Krerk Piromsopa Department of

  • Slides: 15
Download presentation
Introduction to Servlet & JSP Krerk Piromsopa. Department of Computer Engineering. Chulalongkorn University Krerk

Introduction to Servlet & JSP Krerk Piromsopa. Department of Computer Engineering. Chulalongkorn University Krerk Piromsopa. Servlet & JSP 1

Servlet Technology • JAVA APPLETs run on client side (in web browsers) or writing

Servlet Technology • JAVA APPLETs run on client side (in web browsers) or writing Internet applications. • JAVA SERVLETs run on server side for web-based application. (No GUI is required( • JAVA have built-in support for multithread. • Servlet API is Standard Java Extension API, (NOT part of core Java) and available as add-on package. Krerk Piromsopa. Servlet & JSP 2

Servlets Overview • Protocol and Platformindependent server side Java components • Clients may range

Servlets Overview • Protocol and Platformindependent server side Java components • Clients may range from simple HTML forms to Java applets. • Used as middle tiers for distributed application systems. Krerk Piromsopa. Servlet & JSP 3

Applications & Usage Modes. • Database Connection. • Synchronization (On-line conferencing( • Virtual Server

Applications & Usage Modes. • Database Connection. • Synchronization (On-line conferencing( • Virtual Server management • etc. Krerk Piromsopa. • • Servlet & JSP Filter chains of Servers. HTTP CGI replacement Server side include 4

Security. • Rely on HTTP-specific authentication • Secure Socket Layer (SSL( • Java advantage:

Security. • Rely on HTTP-specific authentication • Secure Socket Layer (SSL( • Java advantage: no memory access violations, strong typing violations. (Servlet will not crash servers(. • Security Manager. Only trusted servlets will be allow to access network services or local files. • Support fine grained access control (more secure than MS. Active. X(. Krerk Piromsopa. Servlet & JSP 5

Performance Servlet run as light weight thread in process. CGI run as heavy weight

Performance Servlet run as light weight thread in process. CGI run as heavy weight process. Krerk Piromsopa. Servlet & JSP 6

Three Tier Applications. Krerk Piromsopa. Servlet & JSP 7

Three Tier Applications. Krerk Piromsopa. Servlet & JSP 7

Sample Servlet Hello World! import java. io; *. import javax. servlet. http; *. public

Sample Servlet Hello World! import java. io; *. import javax. servlet. http; *. public class Hello. World extends Http. Servlet} public void do. Get(Http. Servlet. Request request, Http. Servlet. Response response( throws IOException, Servlet. Exception } response. set. Content. Type("text/html; (" Krerk Piromsopa. Print. Writer out = response. get. Writer; () out. println("<html; ("< out. println("<body; ("< out. println("<head; ("< out. println("<title>Hello World!</title; ("< out. println("</head; ("< out. println("<body; ("< out. println("<h 1>Hello World!</h 1; ("< out. println("</body; ("< out. println("</html; ("< { Servlet & JSP 8

Java. Server Pages VS. Servlets. • Dynamic Page require for. – – Working on

Java. Server Pages VS. Servlets. • Dynamic Page require for. – – Working on any web or application server Separating the application logic from the appearance of the page Allowing fast development and testing Simplifying the process of developing interactive web-based applications • JSP is a new approach to fit this need. • Servlet , to turn page, have to edit and recompile. Krerk Piromsopa. Servlet & JSP 9

Java. Server Pages Approach. • Separating content generation from presentation • Emphasizing reusable components

Java. Server Pages Approach. • Separating content generation from presentation • Emphasizing reusable components • Simplifying page development with tags • Java Technology benefits (memory management and security. • Scalability (integrated with J 2 EE( Krerk Piromsopa. Servlet & JSP 10

JSP Example. >HTML< @%>page language=="java" imports=="com. wombat. JSP<% "*. >H 1>Welcome</H 1< >P>Today is

JSP Example. >HTML< @%>page language=="java" imports=="com. wombat. JSP<% "*. >H 1>Welcome</H 1< >P>Today is </P< >jsp: use. Bean id=="clock" class=="calendar. jsp. Calendar</ " >UL< >LI>Day: <%==clock. get. Day. Of. Month<% () >LI>Year: <%==clock. get. Year<% () />UL< %>if (Calendar. get. Instance(). get(Calendar. AM_PM) ==== Calendar. AM<% } ( Good Morning { %>else<% } Good Afternoon <% { %> @%>include file=="copyright. html<% " />HTML < Krerk Piromsopa. Servlet & JSP 11

JSP components. • JSP Directives • Scripting Elements (scriptlet( – <%. … @%> –

JSP components. • JSP Directives • Scripting Elements (scriptlet( – <%. … @%> – <%. . . %> • JSP Tags – – – >jsp: use. Bean</ … >jsp: set. Property</ … >jsp: get. Property</ … >jsp: include</ … >jsp: forward</ … • JSP expression – <% … ==%> Krerk Piromsopa. Servlet & JSP 12

Application Model • Simple Application • Flexible Application with Java Servlets Krerk Piromsopa. Servlet

Application Model • Simple Application • Flexible Application with Java Servlets Krerk Piromsopa. Servlet & JSP 13

Application Model (Continue( • Scalable Processing with Enterprise Java. Beans Technology. Krerk Piromsopa. Servlet

Application Model (Continue( • Scalable Processing with Enterprise Java. Beans Technology. Krerk Piromsopa. Servlet & JSP 14

References • “JAVASERVER PAGES WHITE PAPER, ” http: //java. sun. com/products/jsp/whitepaper. html • “JAVA

References • “JAVASERVER PAGES WHITE PAPER, ” http: //java. sun. com/products/jsp/whitepaper. html • “JAVA SERVLET TECHNOLOGY, ” http: //java. sun. com/products/servlet/whitepaper. html Krerk Piromsopa. Servlet & JSP 15