java web programming - university of wisconsin–madisonpages.cs.wisc.edu › ~estan › cs638 ›...
TRANSCRIPT
![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](https://reader033.vdocuments.us/reader033/viewer/2022052519/5f10be107e708231d44a994f/html5/thumbnails/2.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022052519/5f10be107e708231d44a994f/html5/thumbnails/3.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022052519/5f10be107e708231d44a994f/html5/thumbnails/4.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022052519/5f10be107e708231d44a994f/html5/thumbnails/5.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022052519/5f10be107e708231d44a994f/html5/thumbnails/6.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022052519/5f10be107e708231d44a994f/html5/thumbnails/7.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022052519/5f10be107e708231d44a994f/html5/thumbnails/8.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022052519/5f10be107e708231d44a994f/html5/thumbnails/9.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022052519/5f10be107e708231d44a994f/html5/thumbnails/10.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022052519/5f10be107e708231d44a994f/html5/thumbnails/11.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022052519/5f10be107e708231d44a994f/html5/thumbnails/12.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022052519/5f10be107e708231d44a994f/html5/thumbnails/13.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022052519/5f10be107e708231d44a994f/html5/thumbnails/14.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022052519/5f10be107e708231d44a994f/html5/thumbnails/15.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022052519/5f10be107e708231d44a994f/html5/thumbnails/16.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022052519/5f10be107e708231d44a994f/html5/thumbnails/17.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022052519/5f10be107e708231d44a994f/html5/thumbnails/18.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022052519/5f10be107e708231d44a994f/html5/thumbnails/19.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022052519/5f10be107e708231d44a994f/html5/thumbnails/20.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022052519/5f10be107e708231d44a994f/html5/thumbnails/21.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022052519/5f10be107e708231d44a994f/html5/thumbnails/22.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022052519/5f10be107e708231d44a994f/html5/thumbnails/23.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022052519/5f10be107e708231d44a994f/html5/thumbnails/24.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022052519/5f10be107e708231d44a994f/html5/thumbnails/25.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022052519/5f10be107e708231d44a994f/html5/thumbnails/26.jpg)
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