Introduction To Java-Jee
Introduction To Java-Jee
The Java technology architecture uses the following features to fulfil the previously listed
goals:
Java Platform, Enterprise Edition (Java EE) is focused on making development easier, yet
keeping the richness of Java 2 Platform Enterprise Edition (J2EE).
Java Platform, Enterprise Edition (Java EE) 5 is the latest version of the premier platform
for developing robust, scalable enterprise applications. Here are some highlights:
• Easier development. The focus in Java EE 5 is ease of development. With Java
EE 5, there is less code to write -- much of the boilerplate code has been removed,
defaults are used whenever possible, and annotations are used extensively to reduce
the need for deployment descriptors.
• EJB -- simpler, better. EJB 3.0 makes programming with Enterprise JavaBeans
technology simpler through the use of Plain Old Java Objects (POJOs), it also
introduces a new persistence API.
• Enhanced web services. Java EE 5 includes simplified web services support and
the latest web services APIs, making it an ideal implementation platform for Service-
Oriented Architectures (SOA).
• JSF, JSTL, AJAX, and more. Constructing web applications is made easier with
Java Server Faces (JSF) technology and the JSP Standard Tag Library (JSTL). Java
EE 5 supports rich thin-client technologies such as AJAX, technologies that are
crucial for building applications for Web 2.0.
One of the benefits of Java EE as a platform, is that it is possible to get started with little,
or no, expenditure. The Java EE implementation from Sun can be downloaded for free,
and there are a great many open source tools available to extend the platform or to
simplify development.
The Java virtual machine specification defines the Java Virtual machine (JVM) as: "An
imaginary machine that is implemented by encoding it in software on a real
machine. Code for the Java Virtual Machine is stored in .class files, each of which
contains code for at most one public class." The Java virtual machine specification
provides the hardware platform specification to which all Java technology code is
compiled. This specification enables Java software to be platform independent because
the compilation is done for a generic machine know as the Java virtual machine (JVM).
You can emulate this "generic machine" in software to run on various existing computer
systems or implemented in hardware. The compiler takes the Java application source
code and generates bytecodes. Bytecodes are machine code instructions for JVM. Every
Java interpreter, regardless of whether it is a Java technology development tool or a Web
browser that can run applets, has an implementation of the JVM.
The JVM specification provides concrete definitions for the implementation of the
following:
The code format of the JVM consists of compact and efficient bytecodes. Programs
represented by JVM bytecodes must maintain proper type discipline. The majority of
type checking is done at compile time. Any compliant Java technology interpreter must
be able to run any program with class files that conform to the class file format specified
in The Java virtual machine specification.
Code Security
Java software source files are "compiled" in the sense that they are converted into a set of
bytecodes from the text format in which programmers write them. The bytecodes are
stored in .class files. At runtime, the bytecode that make up a Java software program are
loaded, checked and run in an interpreter. In case of applets, the bytecodes can be
downloaded and then interpreted by JVM built into the browser. The interpreter has two
functions: it executes bytecodes and makes the appropriate calls to the underlying
hardware.
Java Applets And Application
Java can be used to create two types of programs: applications and applets. An
Application is a program that runs on your computer, under operating system of that
computer. That is, an application created by Java is more or less like one created using C
or C++. When used to create applications, Java is not much different from any other
computer language. Rather, it is Java's ability to create applets that makes it important.
Java Server Pages (JSP) technology allows you to easily create web content that has both
static and dynamic components. JSP technology makes available all the dynamic
capabilities of Java Servlet technology but provides a more natural approach to creating
static content. The main features of JSP technology are as follows:
• A language for developing JSP pages, which are text-based documents that
describe how to process a request and construct a response
• An expression language for accessing server-side objects
• Mechanisms for defining extensions to the JSP language
JSP technology also contains an API that is used by developers of web containers, but
this API is not covered in this tutorial.
JSP Page
A JSP page is a text document that contains two types of text: static data, which can be
expressed in any text-based format (such as HTML, SVG, WML, and XML), and JSP
elements, which construct dynamic content.
The recommended file extension for the source file of a JSP page is .jsp. The page can be
composed of a top file that includes other files that contain either a complete JSP page or
a fragment of a JSP page. The recommended extension for the source file of a fragment
of a JSP page is .jspf.
The JSP elements in a JSP page can be expressed in two syntaxes--standard and XML--
though any given file can use only one syntax. A JSP page in XML syntax is an XML
document and can be manipulated by tools and APIs for XML documents.
A JSP page services requests as a servlet. Thus, the life cycle and many of the capabilities
of JSP pages (in particular the dynamic aspects) are determined by Java Servlet
technology.
When a request is mapped to a JSP page, the web container first checks whether the JSP
page's servlet is older than the JSP page. If the servlet is older, the web container
translates the JSP page into a servlet class and compiles the class. During development,
one of the advantages of JSP pages over servlets is that the build process is performed
automatically.