SlideShare a Scribd company logo
Glassfish, JAVA EE, Servlets, JSP, EJB
• A Java platform comprises the JVM together with supporting
class libraries.
Java 2 Standard Edition (J2SE)
• (1999) provides core libraries for data structures, xml
parsing, security, internationalization, db connectivity, RMI
Java 2 Platform, Enterprise Edition (J2EE)
• provides more class libraries for servlets, JSPs, Enterprise
Java Beans, advanced XML
Java Platform, Enterprise Edition (Java EE)
• When Java Platform 5.0 was released (2004) the ‘2’ was
dropped from these titles.
Java platform
• A Java platform comprises the JVM together with
supporting class libraries.
Java Micro Edition (Java ME)
• comprises the necessary core libraries and tools for
writing Java for embedded systems and other small
footprint platforms, along with some specialised
libraries for specific types of device such as mobile
phones.
Java platform
Lecture 19 - Dynamic Web - JAVA - Part 1.ppt
A Java web application generates interactive web
pages containing various types of markup language
(HTML, XML, and so on) and dynamic content.
It is typically comprised of web components such as:
• JavaServer Pages (JSP)
• Servlets
• JavaBeans
to modify and temporarily store data, interact with
databases and web services, and render content in
response to client requests.
Java Web Application
https://grizzly.dev.java.net/
Lecture 19 - Dynamic Web - JAVA - Part 1.ppt
Java EE (Enterprise Edition) is a widely used
platform containing a set of coordinated
technologies that significantly reduce the cost and
complexity of:
• developing
• deploying and
• managing
multitier, server-centric applications.
Java EE builds upon the Java SE platform and
provides a set of APIs (application programming
interfaces) for developing and running portable, robust,
scalable, reliable and secure server-side applications.
Java EE (Enterprise Edition)
http://netbeans.org/kb/trails/java-ee.html
Java EE 6 is supported
only by the GlassFish
server v3.x.
• The Java EE platform uses a simplified
programming model. XML deployment
descriptors are optional. Instead, a developer
can simply enter the information as
an annotation directly into a Java source file,
and the Java EE server will configure the
component at deployment and runtime
• With annotations, you put the specification
information in your code next to the program
element affected.
Java EE 6 Platform
http://download.oracle.com/javaee/6/tutorial/doc/bnaaw.html
• an architecture for implementing services as
multitier applications that deliver the scalability,
accessibility, and manageability needed by
enterprise-level applications.
• With this structure you can more easily change one
of the tiers without compromising your entire
application.
• Business and presentation logic - to be implemented
by the developer
• Standard system services – to be provided by the
Java EE platform
Java EE application model
http://download.oracle.com/javaee/6/tutorial/doc/bnaaw.html
Lecture 19 - Dynamic Web - JAVA - Part 1.ppt
• Servlets are Java classes that dynamically
process requests and construct responses.
• Server side replacement for CGI
• Extensions to Java enabled web-servers
• Inherently multi-threaded.
• One thread per request.
• Very efficient.
• Platform independent.
Java Servlets
• Servlets run inside a Web Container - the
component of the web server that runs and
interacts with Servlets
• Servlet is running on the server listening for
requests
• When a request comes in, a new thread is
generated by the web container.
How do Servlets work?
Lecture 19 - Dynamic Web - JAVA - Part 1.ppt
Java EE containers
• are the interface between a Java component
and the low-level platform-specific functionality
(i.e. transaction and state management,
multithreading, resource pooling, etc.) that
supports the component.
• provide for the separation of business logic from
resource and lifecycle management.
• this allows developers to focus on writing business logic
rather than writing enterprise infrastructure.
Java EE Containers
http://www.oracle.com/technetwork/java/javaee/javaee-faq-jsp-135209.html#diff
The Java EE platform uses "containers" to simplify development.
http://download.oracle.com/javaee/6/tutorial/doc/bnabo.html
Java EE Containers
When a request comes in:
• a Servlet needs to be instantiated and create a new thread to
handle the request.
• call the Servlet’s doPost()or doGet() method and pass the
HTTP request and HTTP response objects
• get the request and the response to the Servlet
• manage the life, death and resources of the Servlet
* All of the above are the tasks of the web container.
Java EE SERVER
Java EE Containers
From Bodoff et. al. 2005
Client
Web
server
HTML
Server
MySQL
Operating System
PHP
interpreter
Internet
My codes
HTTP
TCP/IP
• Webserver supports HTTP.
Recall: (PHP-MySQL) Server: response
Web
browser
Operating
System
Client
Web
browser
Operating
System
Web server
Servlet
(Java code)
Server
Operating System
Internet
Web
Container
Application
(Java code)
HTTP
TCP/IP
• Webserver supports HTTP.
Historically (Java Web App)
Server: response
GET... GET...
It’s the Container that gives
the Servlet the HTTP request
and response, and it’s the
Container that calls the Servlet’s
methods (e.g. doPost() or doGet())
<html>
<head>
</head>
<body>
...
<body>
</html>
<html>
<head>
</head>
<body>
...
<body>
</html>
Client
Web
browser
Operating
System
Web server
Servlet
(Java code)
Server
Operating System
Internet
HTTP
TCP/IP
• Webserver supports HTTP.
Historically (Java Web App)
Server: response
GET... GET...
It’s the Container that gives
the Servlet the HTTP request
and response, and it’s the
Container that calls the Servlet’s
methods (e.g. doPost() or doGet())
<html>
<head>
</head>
<body>
...
<body>
</html>
<html>
<head>
</head>
<body>
...
<body>
</html>
Client
Web
browser
Operating
System
Web server +
Container
Servlet
(Java code)
Server
Operating System
Internet
HTTP
TCP/IP
• Webserver supports HTTP.
(Java Web App) Server: response
GET...
It’s the Container that gives
the Servlet the HTTP request
and response, and it’s the
Container that calls the Servlet’s
methods (e.g. doPost() or doGet())
<html>
<head>
</head>
<body>
...
<body>
</html>
Grizzly is now the
HTTP front end of
the application
server
Java Servlets simplify web development by providing
infrastructure for component, communication, and
session management in a web container that is
integrated with a web server.
Java Servlets
http://www.oracle.com/technetwork/java/javaee/javaee-faq-jsp-135209.html#diff
• Writing Servlets is like writing Java codes that place an
HTML page inside a Java class (this is the worst part of
Servlets!)
• (Historically!) requires a deployment descriptor (DD).
This is in the form of an XML file.
• Servlets do not have a main() method.
• Servlets are under the control of another Java
application called a Container
• manage the data flow between the following:
• JavaBeans components are not considered Java EE
components by the Java EE specification.
• JavaBeans components have properties and have get and
set methods for accessing the properties.
JavaBeans
Client/Database Server
application client or applet components running on the
Java EE server
database Server components
Enterprise JavaBeans container handles:
• distributed communication
• threading
• scaling
• transaction management, etc.
has a new packaging! (see figure)
Enterprise JavaBeans (EJB)
http://www.oracle.com/technetwork/java/deepdivejavaee6glassfishv3-jsp-138230.html
New EJB 3.1 Packaging
Older EJB Packaging
• create a simple web application using NetBeans IDE
• deploy it to a server, and
• view its presentation in a browser
• A 3rd party Java Integrated Development Environment
(IDE)
• Comes with Java EE class libraries
• bundled with GlassFish Sever Open Source Edition
• Can deploy servlets, JSPs, and web services
NetBeans
Class libraries for Servlets,
JSPs, Enterprise Java
Beans, advanced XML
A Quick Tour of the IDE (v.6.9)
JSP, Java Bean, User-defined Java Class & Package,
Get Method, User Interface
Sample Project
Index.jsp
NameHandler.java
Main interface, Html with form
Invokes response.jsp through
form action.
response.jsp
Class NameHandler
containing user data
Generates the server’s response
Defines a JavaBean to connect the class NameHandler to
the user’s input via a form text field (name).
Creating a new Web Application
New Project / Java Web
Creating a new Web Application
Specify Project Name
Creating a new Web Application
GlassFish Server
Web profile
GlassFish
is an open source application server project led
by Sun Microsystems for the Java EE platform. The
proprietary version is called Oracle GlassFish
Enterprise Server. GlassFish is free software
Java Application Server: Glassfish
It uses a derivative of Apache Tomcat as the servlet
container for serving Web content, with an added
component called Grizzly which uses Java NIO for
scalability and speed.
Before the advent of the Java New I/O API (NIO), thread
management issues made it impossible for a server to
scale to thousands of users
https://grizzly.dev.java.net/
Sun is the original creator
of Tomcat
http://java.dzone.com/articles/glassfish-and-tomcat-whats-the
GlassFish is an open source (full) application server project
led by Sun Microsystems for the Java EE platform. The
proprietary version is called Oracle GlassFish Enterprise Server.
GlassFish is free software.
Java Application Server: Glassfish
It uses a derivative of Apache Tomcat as the servlet container
for serving Web content, with an added component called Grizzly
which uses Java NIO for scalability and speed.
On 25 March 2010, soon after the
acquisition of Sun Microsystems, Oracle
issued a Roadmap for versions 3.0.1, 3.1, 3.2
and 4.0 with themes revolving around
clustering, virtualization and integration with
Coherence and other Oracle technologies.
http://en.wikipedia.org/wiki/GlassFish
Historically, if you wanted to get good HTTP performance
from Tomcat you really needed to have an Apache web
server to sit in front of Tomcat which involved more setting
up and extra administrative work.
Since GlassFish v1 (May 2006), Grizzly is the HTTP
frontend of the application server.
It's a 100% Java NIO framework that provides the same
performance as Apache, only it's written in Java and
integrated straight into the application server.
Glassfish vs. Tomcat
Sun is the original creator
of Tomcat
http://java.dzone.com/articles/glassfish-and-tomcat-whats-the
Not a full-
application
server
Other Java web application-capable
Servers
• Blazix from Desiderata Software (1.5
Megabytes, JSP, Servlets and EJBs)
• TomCat from Apache (Approx 6 Megabytes)
• WebLogic from BEA Systems (Approx 40
Megabytes, JSP, Servlets and EJBs)
• WebSphere from IBM (Approx 100 Megabytes,
JSP, Servlets and EJBs)
http://www.jsptut.com/Getfamiliar.jsp
Commercial Deployment
• Oracle GlassFish Server
– delivers a flexible, lightweight and extensible Java EE
6 platform. It provides a small footprint, fully featured
Java EE application server that is completely
supported for commercial deployment and is available
as a standalone offering.
• Oracle WebLogic Server
– designed to run the broader portfolio of Oracle Fusion
Middleware and large-scale enterprise applications.
– industry's most comprehensive Java platform for
developing, deploying, and integrating enterprise
applications.
Oracle provides software support only
for Oracle GlassFish Server, not for
GlassFish Server Open Source Edition
http://docs.sun.com/app/docs/doc/821-1751/gkbtb?l=en&a=view
Creating a new Web Application
JSP File
Creating a new Web Application
Sample Run
Project: HelloWeb
HelloWeb: Directories and Files
NameHandler.java
Java Package
Right-click Source Packages
http://en.wikipedia.org/wiki/GlassFish
Java Package
Add a Java Class, specify Package name
http://en.wikipedia.org/wiki/GlassFish
Java Package
• a mechanism for organizing Java classes into namespaces
• can be stored in compressed files called JAR files, allowing classes to
download faster as a group rather than one at a time.
Java Package
Add a Java Class
http://en.wikipedia.org/wiki/GlassFish
Java Package
Edit the Java Class
http://en.wikipedia.org/wiki/GlassFish
• Declare a String variable inside the
class declaration.
String name;
• Add a constructor to the class:
public NameHandler()
• Add the following line in the
NameHandler() constructor:
name = null;
Generating Getter and Setter Methods
Right-click name field in the Source editor
Selection: Name Field / Refactor / Encapsulate Fields
Generating Getter and Setter Methods
Notice that Fields' Visibility is by default set to private, and Accessors'
Visibility to public, indicating that the access modifier for class variable
declaration will be specified as private, whereas getter and setter
methods will be generated with public and private modifiers, respectively.
Generating Getter and Setter Methods
Select the Refactor button.
Notice that the variable
declaration has changed.
• set to private
Get and set functions
with implementation have
been added as well.
• access modifier: public
Results of Refactoring
Adding and Customising
a Form, input text field,
submit button
Invoke the palette: from the menu, select (Window/Palette): or press
Ctrl+Shift+8
expand HTML Forms
Inserting a Form
expand HTML Forms and drag a Form item to a point after the <h1>
tags in the Source Editor.
The Insert Form dialog box displays.
Inserting a Form
Specify the following values:
Click OK.
Specifying an action
An HTML form is automatically added to the index.jsp file.
Source Generated
Drag a Text Input item to a point just before the </form> tag, then
specify the following values:
• Name: name
• Type: text
Adding an Input Text Field
Input Text Field
Source Generated
Drag a Button item to a point just before the </form> tag. Specify the
following values:
• Label: OK
• Type: submit
Click OK. An HTML button is added between the <form> tags.
Adding a Submit Button
Type Enter your name: just before the first <input> tag, then
change the default Hello World! text between the <h1> tags
to Entry Form.
Adding some extra labels, tidying up your code
Right-click within the Source Editor and choose Format
(Alt-Shift-F) to tidy the format of your code.
index.jsp: Source Generated
We would like to
pass this to our
server
response.jsp
In the Projects window, right-click the HelloWeb project node and
choose New > JSP. The New JSP File wizard opens.
Name the file response, and click Finish.
Notice that a response.jsp file node displays in the Projects window
beneath index.jsp, and the new file opens in the Source Editor.
Adding a JSP File
JSP Source File Generated: response.jsp
In the Palette to the right of the Source Editor, expand JSP and drag a
Use Bean item to a point just below the <body> tag in the Source
Editor.
The Insert Use Bean dialog opens.
Specify the values shown in the following figure.
Adding a Use Bean item
The class NameHandler
belongs to the package
we have set earlier
JSP Source File Generated: response.jsp
Notice that the <jsp:useBean> tag is added beneath the <body> tag.
Drag a Set Bean Property item from the Palette to a point just before
the <h1> tag and click OK.
In the <jsp:setProperty> tag that appears, delete the empty value
attribute and edit as follows. Delete the value = "" attribute if the IDE
created it! Otherwise, it overwrites the value for name that you pass in
index.jsp.
Adding a Set Bean property item
Drag a Set Bean Property item from the Palette to a point just before
the <h1> tag and click OK.
In the <jsp:setProperty> tag that appears, delete the empty value
attribute and edit as follows. Delete the value = "" attribute if the IDE
created it! Otherwise, it overwrites the value for name that you pass in
index.jsp.
Adding a Set Bean property item
Drag a Get Bean Property item from the Palette and drop it after the
comma between the <h1> tags.
Specify the following values in the Insert Get Bean Property dialog:
• Bean Name: mybean
• Property Name: name
Adding a Get Bean property item
Insert a Get Bean Property
item here!
the user input coming from index.jsp becomes a name/value pair that
is passed to the request object.
When you set a property using the <jsp:setProperty> tag, you can
specify the value according to the name of a property contained in the
request object.
JSP Source Code Generated
Therefore, by setting property to name, you can retrieve the value
specified by user input.
Sample Run
User input
Response from
the JSP file
Sample Run
User input Response from
the JSP file
Index.jsp
NameHandler.java
Main interface, Html with form
Invokes response.jsp through
form action.
response.jsp
Class NameHandler
containing user data, get and
set methods
Generates the server’s response
Defines a JavaBean to connect the class NameHandler to
the user’s input via a form text field (name).
Project
Index.jsp
NameHandler.java
Main interface, Html with form
Invokes response.jsp through
form action.
response.jsp
Class NameHandler
containing user data,
get and set methods
Generates the server’s response
Defines a JavaBean to connect the class NameHandler to
the user’s input via a form text field (name).
http://java.sun.com/blueprints/code/projectconventions.html
The Java EE specification defines how the web
application can be archived into a web application
archive (WAR)
• WAR files are
– Java archives with a .war extension
– Packaged using the same specification as zip files
– Understood by all Java EE compliant application
servers
• WAR files can be directly deployed in servlet
containers such as Tomcat
Packaging Web Applications
• To make a WAR for your NetBeans project, right click on
the project node and select Build Project.
• The WAR file will be placed in the “dist” sub-directory
of your project folder
NetBeans WAR files
http://netbeans.org/kb/docs/web/quickstart-webapps.html
http://www.oracle.com/technetwork/java/javaee/documentation/index.html
http://netbeans.org/kb/docs/javaee/ecommerce/design.html
E-Commerce Example
http://netbeans.org/kb/docs/javaee/ecommerce/data-model.html#createERDiagram
http://netbeans.org/kb/docs/web/mysql-webapp.html
Simple Database Example
Project
http://download.oracle.com/javaee/6/tutorial/doc/
Java EE 6
NetBeans
http://java.sun.com/blueprints/code/projectconventions.html
Recommended Directory Structure for Projects
http://dot.netbeans.org:8080/AffableBean/
Lecture 19 - Dynamic Web - JAVA - Part 1.ppt
Lecture 19 - Dynamic Web - JAVA - Part 1.ppt
Lecture 19 - Dynamic Web - JAVA - Part 1.ppt
Model-View-Controller Paradigm
Lecture 19 - Dynamic Web - JAVA - Part 1.ppt

More Related Content

Similar to Lecture 19 - Dynamic Web - JAVA - Part 1.ppt (20)

PPT
Introduction to java_ee
Yogesh Bindwal
 
PPT
Ppt for Online music store
ADEEBANADEEM
 
PPTX
J2ee seminar
Sahil Kukreja
 
PDF
Enterprise java unit-1_chapter-1
sandeep54552
 
PDF
Java Platform and IDE Netbeans 6.7 for Developing Enterprise and Web Applicat...
SSA KPI
 
PPTX
Advance Java Topics (J2EE)
slire
 
PDF
Java in web 2 0 presentation
Varun Jain
 
PDF
Java in web 2 0 presentation
PRAVEEN KUMAR
 
PDF
Java™ in Web 2.0
elliando dias
 
PPTX
Web programming and development - Introduction
Joel Briza
 
PPTX
AJppt.pptx
SachinSingh217687
 
PPS
Web Component Development with Servlet and JSP Technologies Unit 01
Prashanth Shivakumar
 
PDF
Java EE 6 : Paving The Path For The Future
IndicThreads
 
PPSX
Intorduction to struts
Anup72
 
PPTX
Java EE 7 introduction
Moumie Soulemane
 
PPTX
Java ee introduction
Moumie Soulemane
 
PPT
Java for Recruiters
ph7 -
 
PPT
Introduction to java ee
Ranjan Kumar
 
PPTX
Advance java1.1
Prince Soni
 
PDF
EJ NOV-18 (Sol) (E-next.in).pdf
SPAMVEDANT
 
Introduction to java_ee
Yogesh Bindwal
 
Ppt for Online music store
ADEEBANADEEM
 
J2ee seminar
Sahil Kukreja
 
Enterprise java unit-1_chapter-1
sandeep54552
 
Java Platform and IDE Netbeans 6.7 for Developing Enterprise and Web Applicat...
SSA KPI
 
Advance Java Topics (J2EE)
slire
 
Java in web 2 0 presentation
Varun Jain
 
Java in web 2 0 presentation
PRAVEEN KUMAR
 
Java™ in Web 2.0
elliando dias
 
Web programming and development - Introduction
Joel Briza
 
AJppt.pptx
SachinSingh217687
 
Web Component Development with Servlet and JSP Technologies Unit 01
Prashanth Shivakumar
 
Java EE 6 : Paving The Path For The Future
IndicThreads
 
Intorduction to struts
Anup72
 
Java EE 7 introduction
Moumie Soulemane
 
Java ee introduction
Moumie Soulemane
 
Java for Recruiters
ph7 -
 
Introduction to java ee
Ranjan Kumar
 
Advance java1.1
Prince Soni
 
EJ NOV-18 (Sol) (E-next.in).pdf
SPAMVEDANT
 

More from KalsoomTahir2 (20)

PDF
005813616.pdf
KalsoomTahir2
 
PDF
009576860.pdf
KalsoomTahir2
 
PDF
005813185.pdf
KalsoomTahir2
 
PDF
HASH FUNCTIONS.pdf
KalsoomTahir2
 
PPTX
6. McCall's Model.pptx
KalsoomTahir2
 
PPT
ch02-Database System Concepts and Architecture.ppt
KalsoomTahir2
 
PPT
9223301.ppt
KalsoomTahir2
 
PPT
11885558.ppt
KalsoomTahir2
 
PPT
Indexing.ppt
KalsoomTahir2
 
PPT
chap05-info366.ppt
KalsoomTahir2
 
PPT
1650607.ppt
KalsoomTahir2
 
PDF
005281271.pdf
KalsoomTahir2
 
PPT
soa_and_jra.ppt
KalsoomTahir2
 
PPT
ERP_Up_Down.ppt
KalsoomTahir2
 
PPT
Topic1CourseIntroduction.ppt
KalsoomTahir2
 
PPT
CommercialSystemsBahman.ppt
KalsoomTahir2
 
PPT
EJBDetailsFeb25.ppt
KalsoomTahir2
 
PPT
jan28EAI.ppt
KalsoomTahir2
 
PDF
005428052.pdf
KalsoomTahir2
 
PPT
jini-1.ppt
KalsoomTahir2
 
005813616.pdf
KalsoomTahir2
 
009576860.pdf
KalsoomTahir2
 
005813185.pdf
KalsoomTahir2
 
HASH FUNCTIONS.pdf
KalsoomTahir2
 
6. McCall's Model.pptx
KalsoomTahir2
 
ch02-Database System Concepts and Architecture.ppt
KalsoomTahir2
 
9223301.ppt
KalsoomTahir2
 
11885558.ppt
KalsoomTahir2
 
Indexing.ppt
KalsoomTahir2
 
chap05-info366.ppt
KalsoomTahir2
 
1650607.ppt
KalsoomTahir2
 
005281271.pdf
KalsoomTahir2
 
soa_and_jra.ppt
KalsoomTahir2
 
ERP_Up_Down.ppt
KalsoomTahir2
 
Topic1CourseIntroduction.ppt
KalsoomTahir2
 
CommercialSystemsBahman.ppt
KalsoomTahir2
 
EJBDetailsFeb25.ppt
KalsoomTahir2
 
jan28EAI.ppt
KalsoomTahir2
 
005428052.pdf
KalsoomTahir2
 
jini-1.ppt
KalsoomTahir2
 
Ad

Recently uploaded (20)

PPTX
Neurodivergent Friendly Schools - Slides from training session
Pooky Knightsmith
 
PDF
ARAL_Orientation_Day-2-Sessions_ARAL-Readung ARAL-Mathematics ARAL-Sciencev2.pdf
JoelVilloso1
 
PPTX
Post Dated Cheque(PDC) Management in Odoo 18
Celine George
 
PDF
Knee Extensor Mechanism Injuries - Orthopedic Radiologic Imaging
Sean M. Fox
 
PPTX
Unit 2 COMMERCIAL BANKING, Corporate banking.pptx
AnubalaSuresh1
 
PDF
Exploring the Different Types of Experimental Research
Thelma Villaflores
 
PPTX
PATIENT ASSIGNMENTS AND NURSING CARE RESPONSIBILITIES.pptx
PRADEEP ABOTHU
 
PPTX
CATEGORIES OF NURSING PERSONNEL: HOSPITAL & COLLEGE
PRADEEP ABOTHU
 
PPTX
GRADE-3-PPT-EVE-2025-ENG-Q1-LESSON-1.pptx
EveOdrapngimapNarido
 
PDF
The Different Types of Non-Experimental Research
Thelma Villaflores
 
PDF
The History of Phone Numbers in Stoke Newington by Billy Thomas
History of Stoke Newington
 
PDF
Women's Health: Essential Tips for Every Stage.pdf
Iftikhar Ahmed
 
PDF
Stokey: A Jewish Village by Rachel Kolsky
History of Stoke Newington
 
PDF
Chapter-V-DED-Entrepreneurship: Institutions Facilitating Entrepreneurship
Dayanand Huded
 
PDF
0725.WHITEPAPER-UNIQUEWAYSOFPROTOTYPINGANDUXNOW.pdf
Thomas GIRARD, MA, CDP
 
PDF
Horarios de distribución de agua en julio
pegazohn1978
 
PDF
QNL June Edition hosted by Pragya the official Quiz Club of the University of...
Pragya - UEM Kolkata Quiz Club
 
PPTX
How to Manage Large Scrollbar in Odoo 18 POS
Celine George
 
PDF
ARAL-Orientation_Morning-Session_Day-11.pdf
JoelVilloso1
 
PDF
Biological Bilingual Glossary Hindi and English Medium
World of Wisdom
 
Neurodivergent Friendly Schools - Slides from training session
Pooky Knightsmith
 
ARAL_Orientation_Day-2-Sessions_ARAL-Readung ARAL-Mathematics ARAL-Sciencev2.pdf
JoelVilloso1
 
Post Dated Cheque(PDC) Management in Odoo 18
Celine George
 
Knee Extensor Mechanism Injuries - Orthopedic Radiologic Imaging
Sean M. Fox
 
Unit 2 COMMERCIAL BANKING, Corporate banking.pptx
AnubalaSuresh1
 
Exploring the Different Types of Experimental Research
Thelma Villaflores
 
PATIENT ASSIGNMENTS AND NURSING CARE RESPONSIBILITIES.pptx
PRADEEP ABOTHU
 
CATEGORIES OF NURSING PERSONNEL: HOSPITAL & COLLEGE
PRADEEP ABOTHU
 
GRADE-3-PPT-EVE-2025-ENG-Q1-LESSON-1.pptx
EveOdrapngimapNarido
 
The Different Types of Non-Experimental Research
Thelma Villaflores
 
The History of Phone Numbers in Stoke Newington by Billy Thomas
History of Stoke Newington
 
Women's Health: Essential Tips for Every Stage.pdf
Iftikhar Ahmed
 
Stokey: A Jewish Village by Rachel Kolsky
History of Stoke Newington
 
Chapter-V-DED-Entrepreneurship: Institutions Facilitating Entrepreneurship
Dayanand Huded
 
0725.WHITEPAPER-UNIQUEWAYSOFPROTOTYPINGANDUXNOW.pdf
Thomas GIRARD, MA, CDP
 
Horarios de distribución de agua en julio
pegazohn1978
 
QNL June Edition hosted by Pragya the official Quiz Club of the University of...
Pragya - UEM Kolkata Quiz Club
 
How to Manage Large Scrollbar in Odoo 18 POS
Celine George
 
ARAL-Orientation_Morning-Session_Day-11.pdf
JoelVilloso1
 
Biological Bilingual Glossary Hindi and English Medium
World of Wisdom
 
Ad

Lecture 19 - Dynamic Web - JAVA - Part 1.ppt

  • 1. Glassfish, JAVA EE, Servlets, JSP, EJB
  • 2. • A Java platform comprises the JVM together with supporting class libraries. Java 2 Standard Edition (J2SE) • (1999) provides core libraries for data structures, xml parsing, security, internationalization, db connectivity, RMI Java 2 Platform, Enterprise Edition (J2EE) • provides more class libraries for servlets, JSPs, Enterprise Java Beans, advanced XML Java Platform, Enterprise Edition (Java EE) • When Java Platform 5.0 was released (2004) the ‘2’ was dropped from these titles. Java platform
  • 3. • A Java platform comprises the JVM together with supporting class libraries. Java Micro Edition (Java ME) • comprises the necessary core libraries and tools for writing Java for embedded systems and other small footprint platforms, along with some specialised libraries for specific types of device such as mobile phones. Java platform
  • 5. A Java web application generates interactive web pages containing various types of markup language (HTML, XML, and so on) and dynamic content. It is typically comprised of web components such as: • JavaServer Pages (JSP) • Servlets • JavaBeans to modify and temporarily store data, interact with databases and web services, and render content in response to client requests. Java Web Application https://grizzly.dev.java.net/
  • 7. Java EE (Enterprise Edition) is a widely used platform containing a set of coordinated technologies that significantly reduce the cost and complexity of: • developing • deploying and • managing multitier, server-centric applications. Java EE builds upon the Java SE platform and provides a set of APIs (application programming interfaces) for developing and running portable, robust, scalable, reliable and secure server-side applications. Java EE (Enterprise Edition) http://netbeans.org/kb/trails/java-ee.html Java EE 6 is supported only by the GlassFish server v3.x.
  • 8. • The Java EE platform uses a simplified programming model. XML deployment descriptors are optional. Instead, a developer can simply enter the information as an annotation directly into a Java source file, and the Java EE server will configure the component at deployment and runtime • With annotations, you put the specification information in your code next to the program element affected. Java EE 6 Platform http://download.oracle.com/javaee/6/tutorial/doc/bnaaw.html
  • 9. • an architecture for implementing services as multitier applications that deliver the scalability, accessibility, and manageability needed by enterprise-level applications. • With this structure you can more easily change one of the tiers without compromising your entire application. • Business and presentation logic - to be implemented by the developer • Standard system services – to be provided by the Java EE platform Java EE application model http://download.oracle.com/javaee/6/tutorial/doc/bnaaw.html
  • 11. • Servlets are Java classes that dynamically process requests and construct responses. • Server side replacement for CGI • Extensions to Java enabled web-servers • Inherently multi-threaded. • One thread per request. • Very efficient. • Platform independent. Java Servlets
  • 12. • Servlets run inside a Web Container - the component of the web server that runs and interacts with Servlets • Servlet is running on the server listening for requests • When a request comes in, a new thread is generated by the web container. How do Servlets work?
  • 14. Java EE containers • are the interface between a Java component and the low-level platform-specific functionality (i.e. transaction and state management, multithreading, resource pooling, etc.) that supports the component. • provide for the separation of business logic from resource and lifecycle management. • this allows developers to focus on writing business logic rather than writing enterprise infrastructure. Java EE Containers http://www.oracle.com/technetwork/java/javaee/javaee-faq-jsp-135209.html#diff The Java EE platform uses "containers" to simplify development. http://download.oracle.com/javaee/6/tutorial/doc/bnabo.html
  • 15. Java EE Containers When a request comes in: • a Servlet needs to be instantiated and create a new thread to handle the request. • call the Servlet’s doPost()or doGet() method and pass the HTTP request and HTTP response objects • get the request and the response to the Servlet • manage the life, death and resources of the Servlet * All of the above are the tasks of the web container.
  • 16. Java EE SERVER Java EE Containers From Bodoff et. al. 2005
  • 17. Client Web server HTML Server MySQL Operating System PHP interpreter Internet My codes HTTP TCP/IP • Webserver supports HTTP. Recall: (PHP-MySQL) Server: response Web browser Operating System
  • 18. Client Web browser Operating System Web server Servlet (Java code) Server Operating System Internet Web Container Application (Java code) HTTP TCP/IP • Webserver supports HTTP. Historically (Java Web App) Server: response GET... GET... It’s the Container that gives the Servlet the HTTP request and response, and it’s the Container that calls the Servlet’s methods (e.g. doPost() or doGet()) <html> <head> </head> <body> ... <body> </html> <html> <head> </head> <body> ... <body> </html>
  • 19. Client Web browser Operating System Web server Servlet (Java code) Server Operating System Internet HTTP TCP/IP • Webserver supports HTTP. Historically (Java Web App) Server: response GET... GET... It’s the Container that gives the Servlet the HTTP request and response, and it’s the Container that calls the Servlet’s methods (e.g. doPost() or doGet()) <html> <head> </head> <body> ... <body> </html> <html> <head> </head> <body> ... <body> </html>
  • 20. Client Web browser Operating System Web server + Container Servlet (Java code) Server Operating System Internet HTTP TCP/IP • Webserver supports HTTP. (Java Web App) Server: response GET... It’s the Container that gives the Servlet the HTTP request and response, and it’s the Container that calls the Servlet’s methods (e.g. doPost() or doGet()) <html> <head> </head> <body> ... <body> </html> Grizzly is now the HTTP front end of the application server
  • 21. Java Servlets simplify web development by providing infrastructure for component, communication, and session management in a web container that is integrated with a web server. Java Servlets http://www.oracle.com/technetwork/java/javaee/javaee-faq-jsp-135209.html#diff • Writing Servlets is like writing Java codes that place an HTML page inside a Java class (this is the worst part of Servlets!) • (Historically!) requires a deployment descriptor (DD). This is in the form of an XML file. • Servlets do not have a main() method. • Servlets are under the control of another Java application called a Container
  • 22. • manage the data flow between the following: • JavaBeans components are not considered Java EE components by the Java EE specification. • JavaBeans components have properties and have get and set methods for accessing the properties. JavaBeans Client/Database Server application client or applet components running on the Java EE server database Server components
  • 23. Enterprise JavaBeans container handles: • distributed communication • threading • scaling • transaction management, etc. has a new packaging! (see figure) Enterprise JavaBeans (EJB) http://www.oracle.com/technetwork/java/deepdivejavaee6glassfishv3-jsp-138230.html New EJB 3.1 Packaging Older EJB Packaging
  • 24. • create a simple web application using NetBeans IDE • deploy it to a server, and • view its presentation in a browser
  • 25. • A 3rd party Java Integrated Development Environment (IDE) • Comes with Java EE class libraries • bundled with GlassFish Sever Open Source Edition • Can deploy servlets, JSPs, and web services NetBeans Class libraries for Servlets, JSPs, Enterprise Java Beans, advanced XML
  • 26. A Quick Tour of the IDE (v.6.9) JSP, Java Bean, User-defined Java Class & Package, Get Method, User Interface
  • 27. Sample Project Index.jsp NameHandler.java Main interface, Html with form Invokes response.jsp through form action. response.jsp Class NameHandler containing user data Generates the server’s response Defines a JavaBean to connect the class NameHandler to the user’s input via a form text field (name).
  • 28. Creating a new Web Application New Project / Java Web
  • 29. Creating a new Web Application Specify Project Name
  • 30. Creating a new Web Application GlassFish Server Web profile
  • 31. GlassFish is an open source application server project led by Sun Microsystems for the Java EE platform. The proprietary version is called Oracle GlassFish Enterprise Server. GlassFish is free software Java Application Server: Glassfish It uses a derivative of Apache Tomcat as the servlet container for serving Web content, with an added component called Grizzly which uses Java NIO for scalability and speed. Before the advent of the Java New I/O API (NIO), thread management issues made it impossible for a server to scale to thousands of users https://grizzly.dev.java.net/ Sun is the original creator of Tomcat http://java.dzone.com/articles/glassfish-and-tomcat-whats-the
  • 32. GlassFish is an open source (full) application server project led by Sun Microsystems for the Java EE platform. The proprietary version is called Oracle GlassFish Enterprise Server. GlassFish is free software. Java Application Server: Glassfish It uses a derivative of Apache Tomcat as the servlet container for serving Web content, with an added component called Grizzly which uses Java NIO for scalability and speed. On 25 March 2010, soon after the acquisition of Sun Microsystems, Oracle issued a Roadmap for versions 3.0.1, 3.1, 3.2 and 4.0 with themes revolving around clustering, virtualization and integration with Coherence and other Oracle technologies. http://en.wikipedia.org/wiki/GlassFish
  • 33. Historically, if you wanted to get good HTTP performance from Tomcat you really needed to have an Apache web server to sit in front of Tomcat which involved more setting up and extra administrative work. Since GlassFish v1 (May 2006), Grizzly is the HTTP frontend of the application server. It's a 100% Java NIO framework that provides the same performance as Apache, only it's written in Java and integrated straight into the application server. Glassfish vs. Tomcat Sun is the original creator of Tomcat http://java.dzone.com/articles/glassfish-and-tomcat-whats-the Not a full- application server
  • 34. Other Java web application-capable Servers • Blazix from Desiderata Software (1.5 Megabytes, JSP, Servlets and EJBs) • TomCat from Apache (Approx 6 Megabytes) • WebLogic from BEA Systems (Approx 40 Megabytes, JSP, Servlets and EJBs) • WebSphere from IBM (Approx 100 Megabytes, JSP, Servlets and EJBs) http://www.jsptut.com/Getfamiliar.jsp
  • 35. Commercial Deployment • Oracle GlassFish Server – delivers a flexible, lightweight and extensible Java EE 6 platform. It provides a small footprint, fully featured Java EE application server that is completely supported for commercial deployment and is available as a standalone offering. • Oracle WebLogic Server – designed to run the broader portfolio of Oracle Fusion Middleware and large-scale enterprise applications. – industry's most comprehensive Java platform for developing, deploying, and integrating enterprise applications. Oracle provides software support only for Oracle GlassFish Server, not for GlassFish Server Open Source Edition http://docs.sun.com/app/docs/doc/821-1751/gkbtb?l=en&a=view
  • 36. Creating a new Web Application JSP File
  • 37. Creating a new Web Application Sample Run
  • 41. Java Package Right-click Source Packages http://en.wikipedia.org/wiki/GlassFish
  • 42. Java Package Add a Java Class, specify Package name http://en.wikipedia.org/wiki/GlassFish Java Package • a mechanism for organizing Java classes into namespaces • can be stored in compressed files called JAR files, allowing classes to download faster as a group rather than one at a time.
  • 43. Java Package Add a Java Class http://en.wikipedia.org/wiki/GlassFish
  • 44. Java Package Edit the Java Class http://en.wikipedia.org/wiki/GlassFish • Declare a String variable inside the class declaration. String name; • Add a constructor to the class: public NameHandler() • Add the following line in the NameHandler() constructor: name = null;
  • 45. Generating Getter and Setter Methods Right-click name field in the Source editor Selection: Name Field / Refactor / Encapsulate Fields
  • 46. Generating Getter and Setter Methods Notice that Fields' Visibility is by default set to private, and Accessors' Visibility to public, indicating that the access modifier for class variable declaration will be specified as private, whereas getter and setter methods will be generated with public and private modifiers, respectively.
  • 47. Generating Getter and Setter Methods Select the Refactor button.
  • 48. Notice that the variable declaration has changed. • set to private Get and set functions with implementation have been added as well. • access modifier: public Results of Refactoring
  • 49. Adding and Customising a Form, input text field, submit button
  • 50. Invoke the palette: from the menu, select (Window/Palette): or press Ctrl+Shift+8 expand HTML Forms Inserting a Form
  • 51. expand HTML Forms and drag a Form item to a point after the <h1> tags in the Source Editor. The Insert Form dialog box displays. Inserting a Form
  • 52. Specify the following values: Click OK. Specifying an action
  • 53. An HTML form is automatically added to the index.jsp file. Source Generated
  • 54. Drag a Text Input item to a point just before the </form> tag, then specify the following values: • Name: name • Type: text Adding an Input Text Field
  • 56. Drag a Button item to a point just before the </form> tag. Specify the following values: • Label: OK • Type: submit Click OK. An HTML button is added between the <form> tags. Adding a Submit Button
  • 57. Type Enter your name: just before the first <input> tag, then change the default Hello World! text between the <h1> tags to Entry Form. Adding some extra labels, tidying up your code Right-click within the Source Editor and choose Format (Alt-Shift-F) to tidy the format of your code.
  • 58. index.jsp: Source Generated We would like to pass this to our server
  • 60. In the Projects window, right-click the HelloWeb project node and choose New > JSP. The New JSP File wizard opens. Name the file response, and click Finish. Notice that a response.jsp file node displays in the Projects window beneath index.jsp, and the new file opens in the Source Editor. Adding a JSP File
  • 61. JSP Source File Generated: response.jsp
  • 62. In the Palette to the right of the Source Editor, expand JSP and drag a Use Bean item to a point just below the <body> tag in the Source Editor. The Insert Use Bean dialog opens. Specify the values shown in the following figure. Adding a Use Bean item The class NameHandler belongs to the package we have set earlier
  • 63. JSP Source File Generated: response.jsp Notice that the <jsp:useBean> tag is added beneath the <body> tag.
  • 64. Drag a Set Bean Property item from the Palette to a point just before the <h1> tag and click OK. In the <jsp:setProperty> tag that appears, delete the empty value attribute and edit as follows. Delete the value = "" attribute if the IDE created it! Otherwise, it overwrites the value for name that you pass in index.jsp. Adding a Set Bean property item
  • 65. Drag a Set Bean Property item from the Palette to a point just before the <h1> tag and click OK. In the <jsp:setProperty> tag that appears, delete the empty value attribute and edit as follows. Delete the value = "" attribute if the IDE created it! Otherwise, it overwrites the value for name that you pass in index.jsp. Adding a Set Bean property item
  • 66. Drag a Get Bean Property item from the Palette and drop it after the comma between the <h1> tags. Specify the following values in the Insert Get Bean Property dialog: • Bean Name: mybean • Property Name: name Adding a Get Bean property item Insert a Get Bean Property item here!
  • 67. the user input coming from index.jsp becomes a name/value pair that is passed to the request object. When you set a property using the <jsp:setProperty> tag, you can specify the value according to the name of a property contained in the request object. JSP Source Code Generated Therefore, by setting property to name, you can retrieve the value specified by user input.
  • 68. Sample Run User input Response from the JSP file
  • 69. Sample Run User input Response from the JSP file Index.jsp NameHandler.java Main interface, Html with form Invokes response.jsp through form action. response.jsp Class NameHandler containing user data, get and set methods Generates the server’s response Defines a JavaBean to connect the class NameHandler to the user’s input via a form text field (name).
  • 70. Project Index.jsp NameHandler.java Main interface, Html with form Invokes response.jsp through form action. response.jsp Class NameHandler containing user data, get and set methods Generates the server’s response Defines a JavaBean to connect the class NameHandler to the user’s input via a form text field (name). http://java.sun.com/blueprints/code/projectconventions.html
  • 71. The Java EE specification defines how the web application can be archived into a web application archive (WAR) • WAR files are – Java archives with a .war extension – Packaged using the same specification as zip files – Understood by all Java EE compliant application servers • WAR files can be directly deployed in servlet containers such as Tomcat Packaging Web Applications
  • 72. • To make a WAR for your NetBeans project, right click on the project node and select Build Project. • The WAR file will be placed in the “dist” sub-directory of your project folder NetBeans WAR files

Editor's Notes

  • #3: New I/O, usually called NIO, is a collection of Java programming language APIs that offer features for intensiveI/O operations. It was introduced with the J2SE 1.4 release of Java by Sun Microsystems to complement an existing standard I/O. NIO was developed under the Java Community Process as JSR 51.[1] As of 2006, an extension to NIO, called NIO2, is being developed under JSR 203; JSR 203 is scheduled to be included in Java SE 7 ("Dolphin")
  • #4: New I/O, usually called NIO, is a collection of Java programming language APIs that offer features for intensiveI/O operations. It was introduced with the J2SE 1.4 release of Java by Sun Microsystems to complement an existing standard I/O. NIO was developed under the Java Community Process as JSR 51.[1] As of 2006, an extension to NIO, called NIO2, is being developed under JSR 203; JSR 203 is scheduled to be included in Java SE 7 ("Dolphin")
  • #6: New I/O, usually called NIO, is a collection of Java programming language APIs that offer features for intensiveI/O operations. It was introduced with the J2SE 1.4 release of Java by Sun Microsystems to complement an existing standard I/O. NIO was developed under the Java Community Process as JSR 51.[1] As of 2006, an extension to NIO, called NIO2, is being developed under JSR 203; JSR 203 is scheduled to be included in Java SE 7 ("Dolphin")
  • #8: New I/O, usually called NIO, is a collection of Java programming language APIs that offer features for intensiveI/O operations. It was introduced with the J2SE 1.4 release of Java by Sun Microsystems to complement an existing standard I/O. NIO was developed under the Java Community Process as JSR 51.[1] As of 2006, an extension to NIO, called NIO2, is being developed under JSR 203; JSR 203 is scheduled to be included in Java SE 7 ("Dolphin")
  • #15: New I/O, usually called NIO, is a collection of Java programming language APIs that offer features for intensiveI/O operations. It was introduced with the J2SE 1.4 release of Java by Sun Microsystems to complement an existing standard I/O. NIO was developed under the Java Community Process as JSR 51.[1] As of 2006, an extension to NIO, called NIO2, is being developed under JSR 203; JSR 203 is scheduled to be included in Java SE 7 ("Dolphin")
  • #16: New I/O, usually called NIO, is a collection of Java programming language APIs that offer features for intensiveI/O operations. It was introduced with the J2SE 1.4 release of Java by Sun Microsystems to complement an existing standard I/O. NIO was developed under the Java Community Process as JSR 51.[1] As of 2006, an extension to NIO, called NIO2, is being developed under JSR 203; JSR 203 is scheduled to be included in Java SE 7 ("Dolphin")
  • #22: New I/O, usually called NIO, is a collection of Java programming language APIs that offer features for intensiveI/O operations. It was introduced with the J2SE 1.4 release of Java by Sun Microsystems to complement an existing standard I/O. NIO was developed under the Java Community Process as JSR 51.[1] As of 2006, an extension to NIO, called NIO2, is being developed under JSR 203; JSR 203 is scheduled to be included in Java SE 7 ("Dolphin")
  • #23: New I/O, usually called NIO, is a collection of Java programming language APIs that offer features for intensiveI/O operations. It was introduced with the J2SE 1.4 release of Java by Sun Microsystems to complement an existing standard I/O. NIO was developed under the Java Community Process as JSR 51.[1] As of 2006, an extension to NIO, called NIO2, is being developed under JSR 203; JSR 203 is scheduled to be included in Java SE 7 ("Dolphin")
  • #24: New I/O, usually called NIO, is a collection of Java programming language APIs that offer features for intensiveI/O operations. It was introduced with the J2SE 1.4 release of Java by Sun Microsystems to complement an existing standard I/O. NIO was developed under the Java Community Process as JSR 51.[1] As of 2006, an extension to NIO, called NIO2, is being developed under JSR 203; JSR 203 is scheduled to be included in Java SE 7 ("Dolphin")
  • #26: New I/O, usually called NIO, is a collection of Java programming language APIs that offer features for intensiveI/O operations. It was introduced with the J2SE 1.4 release of Java by Sun Microsystems to complement an existing standard I/O. NIO was developed under the Java Community Process as JSR 51.[1] As of 2006, an extension to NIO, called NIO2, is being developed under JSR 203; JSR 203 is scheduled to be included in Java SE 7 ("Dolphin")
  • #32: New I/O, usually called NIO, is a collection of Java programming language APIs that offer features for intensiveI/O operations. It was introduced with the J2SE 1.4 release of Java by Sun Microsystems to complement an existing standard I/O. NIO was developed under the Java Community Process as JSR 51.[1] As of 2006, an extension to NIO, called NIO2, is being developed under JSR 203; JSR 203 is scheduled to be included in Java SE 7 ("Dolphin")
  • #33: New I/O, usually called NIO, is a collection of Java programming language APIs that offer features for intensiveI/O operations. It was introduced with the J2SE 1.4 release of Java by Sun Microsystems to complement an existing standard I/O. NIO was developed under the Java Community Process as JSR 51.[1] As of 2006, an extension to NIO, called NIO2, is being developed under JSR 203; JSR 203 is scheduled to be included in Java SE 7 ("Dolphin")
  • #34: New I/O, usually called NIO, is a collection of Java programming language APIs that offer features for intensiveI/O operations. It was introduced with the J2SE 1.4 release of Java by Sun Microsystems to complement an existing standard I/O. NIO was developed under the Java Community Process as JSR 51.[1] As of 2006, an extension to NIO, called NIO2, is being developed under JSR 203; JSR 203 is scheduled to be included in Java SE 7 ("Dolphin")
  • #42: New I/O, usually called NIO, is a collection of Java programming language APIs that offer features for intensiveI/O operations. It was introduced with the J2SE 1.4 release of Java by Sun Microsystems to complement an existing standard I/O. NIO was developed under the Java Community Process as JSR 51.[1] As of 2006, an extension to NIO, called NIO2, is being developed under JSR 203; JSR 203 is scheduled to be included in Java SE 7 ("Dolphin")
  • #43: New I/O, usually called NIO, is a collection of Java programming language APIs that offer features for intensiveI/O operations. It was introduced with the J2SE 1.4 release of Java by Sun Microsystems to complement an existing standard I/O. NIO was developed under the Java Community Process as JSR 51.[1] As of 2006, an extension to NIO, called NIO2, is being developed under JSR 203; JSR 203 is scheduled to be included in Java SE 7 ("Dolphin")
  • #44: New I/O, usually called NIO, is a collection of Java programming language APIs that offer features for intensiveI/O operations. It was introduced with the J2SE 1.4 release of Java by Sun Microsystems to complement an existing standard I/O. NIO was developed under the Java Community Process as JSR 51.[1] As of 2006, an extension to NIO, called NIO2, is being developed under JSR 203; JSR 203 is scheduled to be included in Java SE 7 ("Dolphin")
  • #45: New I/O, usually called NIO, is a collection of Java programming language APIs that offer features for intensiveI/O operations. It was introduced with the J2SE 1.4 release of Java by Sun Microsystems to complement an existing standard I/O. NIO was developed under the Java Community Process as JSR 51.[1] As of 2006, an extension to NIO, called NIO2, is being developed under JSR 203; JSR 203 is scheduled to be included in Java SE 7 ("Dolphin")
  • #46: New I/O, usually called NIO, is a collection of Java programming language APIs that offer features for intensiveI/O operations. It was introduced with the J2SE 1.4 release of Java by Sun Microsystems to complement an existing standard I/O. NIO was developed under the Java Community Process as JSR 51.[1] As of 2006, an extension to NIO, called NIO2, is being developed under JSR 203; JSR 203 is scheduled to be included in Java SE 7 ("Dolphin")
  • #47: New I/O, usually called NIO, is a collection of Java programming language APIs that offer features for intensiveI/O operations. It was introduced with the J2SE 1.4 release of Java by Sun Microsystems to complement an existing standard I/O. NIO was developed under the Java Community Process as JSR 51.[1] As of 2006, an extension to NIO, called NIO2, is being developed under JSR 203; JSR 203 is scheduled to be included in Java SE 7 ("Dolphin")
  • #48: New I/O, usually called NIO, is a collection of Java programming language APIs that offer features for intensiveI/O operations. It was introduced with the J2SE 1.4 release of Java by Sun Microsystems to complement an existing standard I/O. NIO was developed under the Java Community Process as JSR 51.[1] As of 2006, an extension to NIO, called NIO2, is being developed under JSR 203; JSR 203 is scheduled to be included in Java SE 7 ("Dolphin")
  • #49: New I/O, usually called NIO, is a collection of Java programming language APIs that offer features for intensiveI/O operations. It was introduced with the J2SE 1.4 release of Java by Sun Microsystems to complement an existing standard I/O. NIO was developed under the Java Community Process as JSR 51.[1] As of 2006, an extension to NIO, called NIO2, is being developed under JSR 203; JSR 203 is scheduled to be included in Java SE 7 ("Dolphin")