26
Introduction to Java Web Programming Gregg Sporar [email protected]

Java Web Programming - University of Wisconsin–Madisonpages.cs.wisc.edu › ~estan › cs638 › slides › JavaWebProgramming.pdfJava Web Programming Gregg Sporar [email protected]

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Java Web Programming - University of Wisconsin–Madisonpages.cs.wisc.edu › ~estan › cs638 › slides › JavaWebProgramming.pdfJava Web Programming Gregg Sporar gregg.sporar@sun.com

Introduction toJava Web

Programming

Gregg [email protected]

Page 2: Java Web Programming - University of Wisconsin–Madisonpages.cs.wisc.edu › ~estan › cs638 › slides › JavaWebProgramming.pdfJava Web Programming Gregg Sporar gregg.sporar@sun.com

2

Agenda

●What is Java?

●Web/Application Servers

●Servlets

●JSPs

●Java Web Frameworks

●JavaServer Faces

●Beyond the Java Language

Page 3: Java Web Programming - University of Wisconsin–Madisonpages.cs.wisc.edu › ~estan › cs638 › slides › JavaWebProgramming.pdfJava Web Programming Gregg Sporar gregg.sporar@sun.com

3

What is Java?

● Runs Everywhere

● and Open SourceFREE

Page 4: Java Web Programming - University of Wisconsin–Madisonpages.cs.wisc.edu › ~estan › cs638 › slides › JavaWebProgramming.pdfJava Web Programming Gregg Sporar gregg.sporar@sun.com

4

Java Flavors

OptionalPackages

Java Enterprise

Edition(Java EE)

Java StandardEdition

(Java SE)

JVM

Java Card APIs

CardVM

OptionalPackages

Personal Basis Profile

Personal Profile

Foundation Profile

CDC

MIDP

CLDC

KVM

Java Micro Edition(Java ME)

Page 5: Java Web Programming - University of Wisconsin–Madisonpages.cs.wisc.edu › ~estan › cs638 › slides › JavaWebProgramming.pdfJava Web Programming Gregg Sporar gregg.sporar@sun.com

5

“Hello World” in Java

Page 6: Java Web Programming - University of Wisconsin–Madisonpages.cs.wisc.edu › ~estan › cs638 › slides › JavaWebProgramming.pdfJava Web Programming Gregg Sporar gregg.sporar@sun.com

6

A Specification...

Page 7: Java Web Programming - University of Wisconsin–Madisonpages.cs.wisc.edu › ~estan › cs638 › slides › JavaWebProgramming.pdfJava Web Programming Gregg Sporar gregg.sporar@sun.com

7

Web/Application Servers

Client

Client

Client

Client

Client

ClientTier

Enterprise Information

TierMiddle

Tier

Enterprise Information

Systems (EIS):

RelationalDatabase,

Legacy Applications,

ERP Systems

Enterprise JavaBeans™

Enterprise JavaBeans

Other Services:JNDI, JMS,JavaMail™

Java EEApplication

Server

Web ServerJSP,

Servlets

Firewall

HTML/XML

Page 8: Java Web Programming - University of Wisconsin–Madisonpages.cs.wisc.edu › ~estan › cs638 › slides › JavaWebProgramming.pdfJava Web Programming Gregg Sporar gregg.sporar@sun.com

8

Web/Application Servers●Open Source

● Tomcat

● JBoss

● Geronimo

● GlassFish

●Proprietary● WebSphere

● WebLogic

● OC4J

Page 9: Java Web Programming - University of Wisconsin–Madisonpages.cs.wisc.edu › ~estan › cs638 › slides › JavaWebProgramming.pdfJava Web Programming Gregg Sporar gregg.sporar@sun.com

9

What is a Servlet?

A servlet is a Java programming language class used to extend the capabilities of servers that host applications accessed via a request-response programming model.

Page 10: Java Web Programming - University of Wisconsin–Madisonpages.cs.wisc.edu › ~estan › cs638 › slides › JavaWebProgramming.pdfJava Web Programming Gregg Sporar gregg.sporar@sun.com

10

Servlet Processing

Page 11: Java Web Programming - University of Wisconsin–Madisonpages.cs.wisc.edu › ~estan › cs638 › slides › JavaWebProgramming.pdfJava Web Programming Gregg Sporar gregg.sporar@sun.com

11

“Hello World” Java Servlet

Page 12: Java Web Programming - University of Wisconsin–Madisonpages.cs.wisc.edu › ~estan › cs638 › slides › JavaWebProgramming.pdfJava Web Programming Gregg Sporar gregg.sporar@sun.com

12

Servlet Deployment

Page 13: Java Web Programming - University of Wisconsin–Madisonpages.cs.wisc.edu › ~estan › cs638 › slides › JavaWebProgramming.pdfJava Web Programming Gregg Sporar gregg.sporar@sun.com

13

“Hello World” Revisited...

Not Very Robust....

Page 14: Java Web Programming - University of Wisconsin–Madisonpages.cs.wisc.edu › ~estan › cs638 › slides › JavaWebProgramming.pdfJava Web Programming Gregg Sporar gregg.sporar@sun.com

14

What is a JSP?

JavaServer Page: A JSP page is a text-based document that contains two types of text:

static template data, which can be expressed in any text-based format, such as HTML, SVG, WML, and XML;

...and...

JSP elements, which construct dynamic content.

Page 15: Java Web Programming - University of Wisconsin–Madisonpages.cs.wisc.edu › ~estan › cs638 › slides › JavaWebProgramming.pdfJava Web Programming Gregg Sporar gregg.sporar@sun.com

15

“Hello World” with a JSP

Page 16: Java Web Programming - University of Wisconsin–Madisonpages.cs.wisc.edu › ~estan › cs638 › slides › JavaWebProgramming.pdfJava Web Programming Gregg Sporar gregg.sporar@sun.com

16

You Might Be Wondering...Why does the code do so much grunt work?

Page 17: Java Web Programming - University of Wisconsin–Madisonpages.cs.wisc.edu › ~estan › cs638 › slides › JavaWebProgramming.pdfJava Web Programming Gregg Sporar gregg.sporar@sun.com

17

Java Web Frameworks●Struts

●Tapestry

●Wicket

●Stripes

●Spring MVC

●Google Web Toolkit

●JavaServer Faces (JSF)

●etc...

Page 18: Java Web Programming - University of Wisconsin–Madisonpages.cs.wisc.edu › ~estan › cs638 › slides › JavaWebProgramming.pdfJava Web Programming Gregg Sporar gregg.sporar@sun.com

18

What is JavaServer Faces?

JavaServer Faces technology includes:

* A set of APIs for representing UI components and managing their state, handling events and input validation, defining page navigation, and supporting internationalization and accessibility.

* A JavaServer Pages (JSP) custom tag library for expressing a JavaServer Faces interface within a JSP page.

Page 19: Java Web Programming - University of Wisconsin–Madisonpages.cs.wisc.edu › ~estan › cs638 › slides › JavaWebProgramming.pdfJava Web Programming Gregg Sporar gregg.sporar@sun.com

19

“Hello World” with JSF

Page 20: Java Web Programming - University of Wisconsin–Madisonpages.cs.wisc.edu › ~estan › cs638 › slides › JavaWebProgramming.pdfJava Web Programming Gregg Sporar gregg.sporar@sun.com

20

“Hello World” with JSF (cont'd)

Page 21: Java Web Programming - University of Wisconsin–Madisonpages.cs.wisc.edu › ~estan › cs638 › slides › JavaWebProgramming.pdfJava Web Programming Gregg Sporar gregg.sporar@sun.com

21

“Hello World” with JSF (cont'd)

Page 22: Java Web Programming - University of Wisconsin–Madisonpages.cs.wisc.edu › ~estan › cs638 › slides › JavaWebProgramming.pdfJava Web Programming Gregg Sporar gregg.sporar@sun.com

22

“Hello World” with JSF (cont'd)

Page 23: Java Web Programming - University of Wisconsin–Madisonpages.cs.wisc.edu › ~estan › cs638 › slides › JavaWebProgramming.pdfJava Web Programming Gregg Sporar gregg.sporar@sun.com

23

JSF Life cycle

Source: JSF for nonbelievers, by Rick Hightower

Page 24: Java Web Programming - University of Wisconsin–Madisonpages.cs.wisc.edu › ~estan › cs638 › slides › JavaWebProgramming.pdfJava Web Programming Gregg Sporar gregg.sporar@sun.com

24

Beyond the Java Language

DevicesDevelopment

and more...

The Virtual Machine

JavaFX Script

Page 25: Java Web Programming - University of Wisconsin–Madisonpages.cs.wisc.edu › ~estan › cs638 › slides › JavaWebProgramming.pdfJava Web Programming Gregg Sporar gregg.sporar@sun.com

25

Beyond the Java Language (cont'd)

on

Page 26: Java Web Programming - University of Wisconsin–Madisonpages.cs.wisc.edu › ~estan › cs638 › slides › JavaWebProgramming.pdfJava Web Programming Gregg Sporar gregg.sporar@sun.com

26

Resources ●Java: java.sun.com

●JavaPassion: javapassion.com

●Java EE: java.sun.com/javaee

●Servlets: java.sun.com/products/servlet/articles/tutorial/

●JSP: java.sun.com/j2ee/tutorial/1_3-fcs/doc/JSPIntro.html

●JSF: www.ibm.com/developerworks/library/j-jsf1/

●Ruby, JRuby, Rails: www.netbeans.org/kb/trails/ruby.html

●NetBeans: netbeans.org