An Overview of Servlet & JSP Technology



Similar documents
Volume 1: Core Technologies Marty Hall Larry Brown. An Overview of Servlet & JSP Technology

Server Setup and Configuration

& JSP Technology Originals of Slides and Source Code for Examples:

2011 Marty Hall An Overview of Servlet & JSP Technology Customized Java EE Training:

What servlets and JSP are all about

SERVER SETUP AND CONFIGURATION

Web Applications. Originals of Slides and Source Code for Examples:

AN OVERVIEW OF SERVLET AND JSP TECHNOLOGY

Web Applications. For live Java training, please see training courses at

In this chapter, we lay the foundation for all our further discussions. We start

CS Developing Web Applications with Java Technologies

ServletExec TM 5.0 User Guide

Programming on the Web(CSC309F) Tutorial: Servlets && Tomcat TA:Wael Aboelsaadat

Application Security

Controlling Web Application Behavior

Java with Eclipse: Setup & Getting Started

Building Web Services with Apache Axis2

Application Notes for Packaging and Deploying Avaya Communications Process Manager Sample SDK Web Application on a JBoss Application Server Issue 1.

ServletExec TM 6.0 Installation Guide. for Microsoft Internet Information Server SunONE Web Server Sun Java System Web Server and Apache HTTP Server

Magento Search Extension TECHNICAL DOCUMENTATION

ServletExec TM 6.0 User Guide. for Microsoft Internet Information Server Sun ONE Web Server Sun Java System Web Server and Apache HTTP Server

2. Follow the installation directions and install the server on ccc

Web Application Architecture (based J2EE 1.4 Tutorial)

PowerTier Web Development Tools 4

Virtual Machine (VM) For Hadoop Training

Java Web Programming with Eclipse

JHU/EP Server Originals of Slides and Source Code for Examples:

NetBeans IDE Field Guide

Glassfish, JAVA EE, Servlets, JSP, EJB

Java Servlet and JSP Programming. Structure and Deployment China Jiliang University

Jenkins on Windows with StreamBase

Struts 2 - Practical examples

Android Programming: Installation, Setup, and Getting Started

Installing and Running Tomcat 5.5

DeskNow. Ventia Pty. Ltd. Advanced setup. Version : 3.2 Date : 4 January 2007

Install guide for Websphere 7.0

OVERVIEW OF JSP TECHNOLOGY

NGASI Shared-Runtime Manager Administration and User Guide WebAppShowcase DBA NGASI

Workshop for WebLogic introduces new tools in support of Java EE 5.0 standards. The support for Java EE5 includes the following technologies:

Application Servers - BEA WebLogic. Installing the Application Server

Supplement IV.E: Tutorial for Tomcat. For Introduction to Java Programming By Y. Daniel Liang

Getting Started with Web Applications

Design Approaches of Web Application with Efficient Performance in JAVA

BIRT Application and BIRT Report Deployment Functional Specification

Crystal Reports for Eclipse

Web Development on the SOEN 6011 Server

On-campus Tomcat Deployment Client

ArcGIS 9. Installing ArcIMS 9 on Red Hat Linux

TIBCO Silver Fabric Continuity User s Guide

JAVA WEB START OVERVIEW

HP OpenView Service Desk Version 3.0

Oracle WebLogic Foundation of Oracle Fusion Middleware. Lawrence Manickam Toyork Systems Inc

Installing (1.8.7) 9/2/ Installing jgrasp

Web Server Configuration Guide

Oracle WebLogic Server

IBM WebSphere Application Server V8.5 lab Basic Liberty profile administration using the job manager

Apache Jakarta Tomcat

WebSphere v5 Administration, Network Deployment Edition

WebLogic Server: Installation and Configuration

Java Web Services Developer Pack. Copyright 2003 David A. Wilson. All rights reserved.

<Insert Picture Here> Introducing Hudson. Winston Prakash. Click to edit Master subtitle style

Web Applications and Struts 2

Getting Started with Android Development

Installation, Configuration and Administration Guide

1 Building, Deploying and Testing DPES application

Enterprise Application Development In Java with AJAX and ORM

KINETIC SR (Survey and Request)

Consuming and Producing Web Services with WST and JST. Christopher M. Judd. President/Consultant Judd Solutions, LLC

MIGS Payment Client Installation Guide. EGate User Manual

QuickDNS 4.6 Installation Instructions

WebNow. Installation and Setup Guide. ImageNow Version: 6.7.x Environment: Windows Web Application Server: Tomcat

Debugging Ajax Pages: Firebug

Web Application Developer s Guide

SSC - Web applications and development Introduction and Java Servlet (II)

An introduction to creating JSF applications in Rational Application Developer Version 8.0

Sample copy. Introduction To WebLogic Server Property of Web 10.3 Age Solutions Inc.

Mastering Tomcat Development

EVALUATION ONLY. WA2088 WebSphere Application Server 8.5 Administration on Windows. Student Labs. Web Age Solutions Inc.

Crawl Proxy Installation and Configuration Guide

Learning GlassFish for Tomcat Users

The "Eclipse Classic" version is recommended. Otherwise, a Java or RCP version of Eclipse is recommended.

The Google Web Toolkit (GWT): Overview & Getting Started

CREATE A CUSTOM THEME WEBSPHERE PORTAL

KonaKart Portlet Installation for Liferay. 6 th February DS Data Systems (UK) Ltd., 9 Little Meadow Loughton, Milton Keynes Bucks MK5 8EH UK

Portals, Portlets & Liferay Platform

CrownPeak Java Web Hosting. Version 0.20

ZeroTurnaround License Server User Manual 1.4.0

JBoss SOAP Web Services User Guide. Version: M5

Configuring Single Sign-On for Documentum Applications with RSA Access Manager Product Suite. Abstract

WIRIS quizzes web services Getting started with PHP and Java

Oracle Exam 1z0-102 Oracle Weblogic Server 11g: System Administration I Version: 9.0 [ Total Questions: 111 ]

Oracle WebLogic Server 11g: Administration Essentials

Simplify Your Web App Development Using the Spring MVC Framework

WebSphere Application Server V7: Deploying Applications

IUCLID 5 Guidance and Support

Hudson configuration manual

PDQ-Wizard Prototype 1.0 Installation Guide

Configuring the BBj Jetty Web Server (rev10.02) for OSAS

Transcription:

2007 Marty Hall An Overview of Servlet & JSP Technology 2 Customized J2EE Training: http://courses.coreservlets.com/ Servlets, JSP, Struts, JSF, EJB3, Ajax, Java 5, Java 6, etc. Ruby/Rails coming soon. Developed and taught by well-known author and developer. At public venues or onsite at your location. 2007 Marty Hall For live Java training, please see training courses at http://courses.coreservlets.com/. Servlets, JSP, Struts, JSF, Ajax, Java 5, Java 6, and customized combinations of topics. Ruby/Rails coming soon. 3 Taught by the author of Core Servlets and JSP, More Servlets and JSP, and this tutorial. Available at public venues, or customized versions can be held on-site at your organization. Customized J2EE Training: http://courses.coreservlets.com/ Servlets, JSP, Struts, JSF, EJB3, Ajax, Java 5, Java 6, etc. Ruby/Rails coming soon. Developed and taught by well-known author and developer. At public venues or onsite at your location.

Agenda Understanding the role of servlets Building Web pages dynamically Evaluating servlets vs. other technologies Understanding the role of JSP Configuring the server Configuring your development environment Testing the setup Basic server HTML/JSP Servlets 4 J2EE training: http://courses.coreservlets.com A Servlet s Job Read explicit data sent by client (form data) Read implicit data sent by client (request headers) Generate the results Send the explicit data back to client (HTML) Send the implicit data to client (status codes and response headers) 5 J2EE training: http://courses.coreservlets.com

Why Build Web Pages Dynamically? The Web page is based on data submitted by the user E.g., results page from search engines and orderconfirmation pages at on-line stores The Web page is derived from data that changes frequently E.g., a weather report or news headlines page The Web page uses information from databases or other server-side sources E.g., an e-commerce site could use a servlet to build a Web page that lists the current price and availability of each item that is for sale. 6 J2EE training: http://courses.coreservlets.com The Advantages of Servlets Over Traditional CGI Efficient Threads instead of OS processes, one servlet copy Convenient Lots of high-level utilities Powerful Sharing data, pooling, persistence Portable Run on virtually all operating systems and servers Inexpensive There are plenty of free and low-cost servers Secure No shell escapes, no buffer overflows Mainstream See next page 7 J2EE training: http://courses.coreservlets.com

Mainstream Popular: The single most common use of Java technology The leading technology for medium/large Web applications Supported by: Apache, Oracle, IBM, Sybase, BEA, Macromedia, Caucho, Sun/iPlanet, New Atlanta, ATG, Fujitsu, Lutris, Silverstream, the World Wide Web Consortium (W3C), and many others Plugins for IIS and Zeus Runs on: Windows, Unix/Linux, MacOS, VMS, and IBM mainframe OSs Used for: Airline companies, hotels, e-commerce sites, search engines, banks, financial sites, etc., etc., etc. Server-side Java is driving the Web 8 J2EE training: http://courses.coreservlets.com Extending the Power of Servlets: JavaServer Pages (JSP) Idea: Use regular HTML for most of page Mark dynamic content with special tags Details in second half of course <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD><TITLE>Welcome to Our Store</TITLE></HEAD> <BODY> <H1>Welcome to Our Store</H1> <SMALL>Welcome, <!-- User name is "New User" for first-time visitors --> <%= coreservlets.utils.getusernamefromcookie(request) %> To access your account settings, click <A HREF="Account-Settings.html">here.</A></SMALL> <P> Regular HTML for rest of on-line store s Web page </BODY></HTML> 9 J2EE training: http://courses.coreservlets.com

Server Setup and Configuration 1. Download and install the Java Software Development Kit (SDK) 2. Download a server. 3. Configure the server 4. Set up your development environment 5. Test your setup 6. Establish a simplified deployment method 7. Create custom Web applications For very detailed coverage of these steps for Tomcat 4 and 5, see http://www coreservlets com/apache-tomcat-tutorial/ 10 J2EE training: http://courses.coreservlets.com Download & Install Java JDK Recommended Java version Java 5 (aka JDK 1.5) Obtain at http://java.sun.com/j2se/1.5.0/download.jsp Get JDK, not just JRE. Don't get J2EE. Set PATH variable as described in Java documentation Minimum supported Java version Servlets 2.3 and JSP 1.2 (standalone servers). Java 1.2 or later. J2EE 1.3 (which includes servlets 2.3 and JSP 1.2). Java 1.3 or later. Servlets 2.4 and JSP 2.0 (standalone servers). Java 1.3 or later. J2EE 1.4 (which includes servlets 2.4 and JSP 2.0). Java 1.4 or later. 11 J2EE training: http://courses.coreservlets.com

Download a Free Server for Your Desktop Apache Tomcat http://jakarta.apache.org/tomcat/ For installation and setup details, see http://www.coreservlets.com/apache-tomcat-tutorial/ Macromedia JRun http://www.macromedia.com/software/jrun/ Caucho Resin http://caucho.com/products/resin/ New Atlanta ServletExec http://www.newatlanta.com/products/servletexec/ Jetty http://jetty.mortbay.org/jetty/ 12 J2EE training: http://courses.coreservlets.com Configure the Server Identify the JDK installation directory. For Tomcat: set JAVA_HOME Specify the port. Change the port from default (usually 8080) to 80 Make server-specific customizations. For Tomcat: Enable servlet reloading Enable the ROOT context Turn on the invoker servlet These changes already done for class. To reproduce for home/office setup, see book or refer to http://www.coreservlets.com/apache-tomcat-tutorial/ 13 J2EE training: http://courses.coreservlets.com

Set Up Your Development Environment Create a development directory Choose a location in which to develop your servlets, JSP documents, and supporting classes (e.g., C:\Servlets+JSP) Set your CLASSPATH Tell the compiler about the servlet and JSP JAR file and the location of your development directory. Setting this variable incorrectly is the single most common cause of problems for beginners. Make shortcuts to start and stop the server Make sure it is convenient to start and stop the server. Bookmark the servlet and JSP API docs You ll refer to this documentation frequently http://tomcat.apache.org/tomcat-5.0-doc/servletapi/ http://tomcat.apache.org/tomcat-5.0-doc/jspapi/ 14 J2EE training: http://courses.coreservlets.com Test Your Setup Verify your Java installation Be sure that you get meaningful results for both of these: java -version javac -help Check your basic server configuration Start server and access the server home page (http://localhost/) Access a simple user-defined HTML page Download Hello.html from book's source code archive Put in install_dir/webapps/root Access with http://localhost/hello.html Access a simple user-defined JSP page Download Hello.jsp and put in install_dir/webapps/root Access with http://localhost/hello.jsp 15 J2EE training: http://courses.coreservlets.com

Test Your Setup (Continued) Compile and deploy a packageless servlet Download HelloServlet.java from source code archive Place in development directory (e.g., C:\Servlets+JSP) Compile (if errors, check CLASSPATH) Move HelloServlet.class to install_dir/webapps/root/web-inf/classes Access with http://localhost/servlet/helloservlet 16 J2EE training: http://courses.coreservlets.com Test Your Setup (Continued) Compile and deploy a packaged servlet Download HelloServlet2.java from source code archive Place in coreservlets subdirectory of development directory (e.g., C:\Servlets+JSP\coreservlets) Compile (if errors, check CLASSPATH) Move HelloServlet2.class to install_dir/webapps/root/web-inf/classes/coreservlets Access with http://localhost/servlet/coreservlets.helloservlet2 17 J2EE training: http://courses.coreservlets.com

Test Your Setup (Continued) Compile and deploy a packaged servlet that uses a helper class Download HelloServlet3.java and ServletUtilities.java Place in coreservlets subdirectory of development dir Compile (if errors, check CLASSPATH) Move both class files to install_dir/webapps/root/web-inf/classes/coreservlets Access with http://localhost/servlet/coreservlets.helloservlet3 18 J2EE training: http://courses.coreservlets.com Establish a Simplified Deployment Method Copy to a shortcut or symbolic link Make shortcut to install_dir/webapps/root/web-inf/classes For packageless servlets, copy.class file to this shortcut For packaged servlets, copy entire directory to shortcut This is the simplest method for beginners This is the method I will use throughout class Use the -d option of javac Lets you have source files in one location but automatically place.class files in another location Let your IDE take care of deployment Use ant or a similar tool Ant is especially popular when using custom Web apps 19 J2EE training: http://courses.coreservlets.com

Web Applications: A Preview Learning Use default Web application (ROOT on Tomcat) Use default URLs (http:// /servlet/servletname) Advantages Simpler Can test without restarting server or editing web.xml Deployment Use a custom Web application (on Tomcat, a directory in install_dir/webapps with structure similar to ROOT) Register custom URLs in WEB-INF/web.xml Advantages URLs look better Advanced features (init params, security, filters, etc.) depend on your using registered URLs 20 J2EE training: http://courses.coreservlets.com Making Custom Web Apps 1. Make a directory whose structure mirrors the structure of the default Web application. HTML (and, eventually, JSP) documents go in the toplevel directory The web.xml file goes in the WEB-INF subdirectory Servlets and other classes go either in WEB-INF/classes or a subdirectory of WEB-INF/classes that matches the package name. On Tomcat, entire directory goes in install_dir/webapps 2. Update your CLASSPATH. Add webappdir/web-inf/classes to it. 21 J2EE training: http://courses.coreservlets.com

Making Custom Web Apps 3. Use the directory name in the URL All URLs should be of the form http://host/webappdir/ 4. Use web.xml to assign custom URLs Use the servlet and servlet-mapping elements <servlet> <servlet-name>servlet2</servlet-name> <servlet-class> coreservlets.helloservlet2 </servlet-class> </servlet> <servlet-mapping> <servlet-name>servlet2</servlet-name> <url-pattern>/servlet2</url-pattern> </servlet-mapping> 22 J2EE training: http://courses.coreservlets.com Making Custom Web Apps 23 J2EE training: http://courses.coreservlets.com

JHU-Specific Setup Create a Web Application for your account Log in, cd to your public_html directory, and type "~hall/class/servlet-setup". This will create a WEB-INF directory with the HelloServlet servlet in the classes subdirectory. Test the HelloServlet servlet Wait one hour. The server restarts every hour; Tomcat only checks for Web applications on startup. You only have to wait the very first time you create WEB-INF. In a browser, enter the URL http://web4.apl.jhu.edu/~yourid/servlet/helloservlet 24 J2EE training: http://courses.coreservlets.com JHU-Specific Setup (Continued) Create your own servlets If you create the servlets at home (recommended!), just upload the.class files to ~/public_html/web-inf/classes/ and access them with the URL http://web4.apl.jhu.edu/~yourid/servlet/servletname Note that you use web4.apl.jhu.edu in the URL, but don't actually log into that machine. Your apl.jhu.edu directories are mirrored there. If you use packages, your.class files go in ~/public_html/web-inf/classes/packagename and are accessed with the URL http://web4.apl.jhu.edu/~yourid/servlet/packagename.servletname If you compile directly on apl.jhu.edu (not recommended), you have to type "source ~hall/class/set-servlet-path" each time you log in (or copy the code into your.cshrc) so that servlet.jar is in your CLASSPATH Create your own JSP pages If you want to try JSP now, just drop JSP files into public_html and access them with http://web4.apl.jhu.edu/~yourid/filename.jsp 25 J2EE training: http://courses.coreservlets.com

JHU-Specific Setup (Continued) Packageless Servlet (HelloServlet) Servlet (HelloServlet2) In Package (coreservlets) Home Code: install_dir/webapps/root/ WEB-INF/classes URL: http://localhost/servlet/helloservlet Code: install_dir/webapps/root/web-inf/ classes/coreservlets URL: http://localhost/ servlet/coreservlets.helloservlet2 JHU Code: ~/public_html/web-inf/classes URL: http://web4.apl.jhu.edu/~yourid/ servlet/helloservlet Code: ~/public_html/web-inf/ classes/coreservlets URL: http://web4.apl.jhu.edu/~yourid/ servlet/coreservlets.helloservlet2 26 J2EE training: http://courses.coreservlets.com Summary Servlets are efficient, portable, powerful, and widely accepted in industry Regardless of deployment server, run a free server on your desktop for development Getting started: Set your CLASSPATH Servlet JAR file Top of your package hierarchy Put class files in proper location.../web-inf/classes Use proper URL, usually http://host/servlet/servletname Download existing servlet first time Start with HelloServlet from www.coreservlets.com 27 J2EE training: http://courses.coreservlets.com

2007 Marty Hall Questions? 28 Customized J2EE Training: http://courses.coreservlets.com/ Servlets, JSP, Struts, JSF, EJB3, Ajax, Java 5, Java 6, etc. Ruby/Rails coming soon. Developed and taught by well-known author and developer. At public venues or onsite at your location.