Você está na página 1de 36

Formadora

Formao Clia Duarte


Java Enterprise Edition
Autor Documentao
Mdulo I: Viso geral da plataforma JEE
Paul Crocker

Curso Intensivo JEE Mdulo I: Viso geral da plataforma JEE Verso: 1.2
NOTA: Proibida a reproduo (total ou parcial) ou distribuio deste documento sem a autorizao da UBI eAltran
Novembro 2017
1
Agenda

Introduo
Beans
Arquitectura JEE
JEE Components (client, web and business components)
JEE Clients e JEE Containers
JEE APIs
JEE Application Servers : Caractersticas e comparativo
Packaging and Deployment (JAR, WAR e EAR)
Sesso Prtica

Curso Intensivo JEE Mdulo I: Viso geral da plataforma JEE Verso: 1.2
NOTA: Proibida a reproduo (total ou parcial) ou distribuio deste documento sem a autorizao da UBI eAltran
Novembro 2017
2
Introduo
Exigncias do mercado de IT
In the world of information technology, enterprise applications must be designed, built,
and produced for less money, with greater speed, and with fewer resources.
Fonte: Oracle TM

Possvel abordagem?
Utilizar a plataforma JEE (Java Enterprise Edition), uma vez que apresenta as seguintes
caractersticas:

Conjunto vasto e rico de APIs, que satisfazem, maioritariamente, as exigncias dos projectos;
Tempos de adaptao de equipas de desenvolvimento bastante reduzidos;

Reduo da complexidade dos projectos;

Melhoria da performance das aplicaes;

Reduo do time to market.

Curso Intensivo JEE Mdulo I: Viso geral da plataforma JEE Verso: 1.2
NOTA: Proibida a reproduo (total ou parcial) ou distribuio deste documento sem a autorizao da UBI eAltran
Novembro 2017
3
JAVA Platforms
JAVA PLATFORMS
Uma Maquina Virtual (JVM) para execuo numa mquina e arquitectura especifica.
JAVA API. Conjunto de componentes, bibliotecas de cdigo, independentes da
plataforma de execuo. Ainda h ferramentas especificas para cada plataforma

Java SE (Java Platform, Standard Edition). Funcionalidade principal da linguagem JAVA. Tipos
de Dados e Objectos, Bibliotecas comuns de Redes, Segurana, Parsing etc.

Java EE (Java Platform, Enterprise Edition). Para o desenvolvimento de aplicaes


corporativas e para a Internet, escalveis e seguras.

Java ME (Java Platform, Micro Edition). A edio para o desenvolvimento de aplicaes para
dispositivos mveis e embutidos. Java Card. Mais especifico para SmartCards

JavaFX. Plataforma para desenvolvimento de aplicaes (clientes) ricas e leves de


multimdia em desktop/web (JavaFX Script) e dispositivos mveis (JavaFX Mobile).

Curso Intensivo JEE Mdulo I: Viso geral da plataforma JEE Verso: 1.2
NOTA: Proibida a reproduo (total ou parcial) ou distribuio deste documento sem a autorizao da UBI eAltran
Novembro 2017
4
Aplicaes WEB
Web Application: Uma Aplicao Web uma aplicao dinmica usando o modelo
WEB onde h programas Clientes e a aplicao associada a um servidor
aplicacional/servidor de Web. Aplicaes de WEB podem ser consideradas de um
dois tipos:

Presentation-oriented: Uma aplicao WEB orientado a presentao gere paginas


interactivas que contm informao em vrios tipos de Linguagens Markup
(HTML, XHTML, XML, etc.) e cujo contedo criado dinamicamente e o
resultado dos pedidos recebidos e contexto actual.

Service-oriented: Uma aplicao WEB implementa o ponto final (endpoint) dum


servio Web. Este tipo de aplicao muitas vezes cliente de outras aplicaes
orientadas a servios (SaS Software as a Service).

Curso Intensivo JEE Mdulo I: Viso geral da plataforma JEE Verso: 1.2
NOTA: Proibida a reproduo (total ou parcial) ou distribuio deste documento sem a autorizao da UBI eAltran
Novembro 2017
5
Java Beans e Java Enterprise Beans
JavaBeans
So componentes reutilizveis de software escritos na linguagem de programao
Java.
So usados para encapsular muitos objectos num um nico objecto (o bean),
assim eles podem ser transmitidos como um nico objecto em vez de vrios
objectos individuais.
O JavaBean um Objecto Java que :
serializvel : implementa a interface java.io.Serializable (que possibilita a

persistncia e restaurao do estado do objecto da classe);


Possui um construtor sem argumentos;

Em que as suas propriedades sejam acessveis atravs de mtodos "get" e "set",

possa conter mtodos de tratamento de eventos.

Curso Intensivo JEE Mdulo I: Viso geral da plataforma JEE Verso: 1.2
NOTA: Proibida a reproduo (total ou parcial) ou distribuio deste documento sem a autorizao da UBI eAltran
Novembro 2017
6
Exemplo: Java Bean

The Bean Bean App


package userinfo; import userinfo.Utilizador;
import java.beans.*; public class TesteUser {
import java.io.Serializable; public static void main(String[] args) {
Utilizador user = new Utilizador();
public class Utilizador implements Serializable {
private String nome; user.setNome("Clia Duarte");
private Integer idade; user.setIdade(25);
public String getNome()
{ return this.nome; } System.out.println("user:
+ user.getNome() + " :
public void setNome(String nome) + user.getIdade() +" anos");
{ this.nome = nome; } }
}
public Integer getIdade()
{ return this.idade; }

public void setIdade(Integer idade)


{ this.idade = idade; }
}

Curso Intensivo JEE Mdulo I: Viso geral da plataforma JEE Verso: 1.2
NOTA: Proibida a reproduo (total ou parcial) ou distribuio deste documento sem a autorizao da UBI eAltran
Novembro 2017
7
Exemplo: Java Bean

The Bean (Utilizador.java) Bean Web App (user.jsp)


package userinfo; <%@ page language="java . "%>
import java.beans.*;
import java.io.Serializable; <html>
<head><title>JavaBean User</title> </head> <body>
public class Utilizador implements Serializable
{ <jsp:useBean id=user class="userinfo.Utilizador" scope="page"/>
private String nome; <jsp:setProperty name="user" property="*"/>
private Integer idade;
public String getNome()
{ return this.nome; } Name: <jsp:getProperty name="user property="nome"/><br/>
Idade: <jsp:getProperty name="user" property="idade"/><br/>
public void setNome(String nome)
{ this.nome = nome; } <form action="user.jsp" method="post"> Nome: <input type="text"
name="nome"><br> Idade: <input type="text" name="idade" size="5"><br>
public Integer getIdade()
{ return this.idade; } <input type="submit" value="Enviar Dados"> <p> </form> </body> </html>

public void setIdade(Integer idade)


{ this.idade = idade; }
}

Curso Intensivo JEE Mdulo I: Viso geral da plataforma JEE Verso: 1.2
NOTA: Proibida a reproduo (total ou parcial) ou distribuio deste documento sem a autorizao da UBI eAltran
Novembro 2017
8
Enterprise Java Beans
Enterprise JavaBeans (EJB) is a managed, server-side component architecture for
modular construction of enterprise applications.

The EJB specification provides a standard way to implement the back-end 'business'
code typically found in enterprise applications (as opposed to 'front-end' interface
code). Such code addresses the same types of problems, and solutions to these
problems are often repeatedly re-implemented by programmers. Enterprise
JavaBeans are intended to handle such common concerns as persistence,
transactional integrity, timing and messaging events, and security in a standard way,

The EJB 3.0 specification relies heavily on the use of annotations

@Schedule(minute="*/30", hour="*")
public void automaticUpdate() {
this.RunSynchronizeUpdate (new Date());
logger.info("Automatic Update occured");
}
Curso Intensivo JEE Mdulo I: Viso geral da plataforma JEE Verso: 1.2
NOTA: Proibida a reproduo (total ou parcial) ou distribuio deste documento sem a autorizao da UBI eAltran
Novembro 2017
9
Arquitectura JEE
A plataforma JEE utiliza o modelo de camadas para as aplicaes empresariais.
A camada lgica da aplicao dividida em componentes de acordo com a sua
funo, que est intimamente relacionada com cada camada aplicacional.

Modelo aplicacional de 3 camadas (de acordo


com a localizao) Client Machines Java EE
Server Database Server

Modelo aplicacional de 4 camadas


(de acordo com os componentes JEE)
Presentation (GUI) Presentation Logic Tier
Business Tier e Data Access Tier Data Tier

Curso Intensivo JEE Mdulo I: Viso geral da plataforma JEE Verso: 1.2
NOTA: Proibida a reproduo (total ou parcial) ou distribuio deste documento sem a autorizao da UBI eAltran
Novembro 2017
10
JEE Components

A especificao JEE define os seguintes componentes, de acordo com as suas


funes nas aplicaes empresariais:
Client components (e.g. Applets) Componentes executados
nos clientes;
Web components (Tecnologia Java Servlet, JavaServer Faces,
e JavaServer Pages (JSP) ) Componentes executados no
servidor JEE;
Business components (Enterprise JavaBeans (EJB))
Componentes tambm executados no servidor JEE

Nota:
Os componentes JEE so implementados e
compilados como uma classe standard em
Java, com a diferena de que so validados de
acordo com a especificao JEE, executados e
geridos atravs de um servidor JEE.
Curso Intensivo JEE Mdulo I: Viso geral da plataforma JEE Verso: 1.2
NOTA: Proibida a reproduo (total ou parcial) ou distribuio deste documento sem a autorizao da UBI eAltran
Novembro 2017
11
JEE Clients
Os clientes JEE, de acordo com a especificao, agrupam-se em:

Web clients
Navegadores (e.g. IE, Mozilla Firefox, etc.) que renderizam as pginas enviadas
pelo servidor (HTTP RESPONSE).

Application clients
Aplicaes instaladas nas client machines que acedem normalmente de forma
directa aos componentes de negcio (Enterprise JavaBeans (EJB)).

Applets actualmente em desuso


Aplicao Java embebida nas pginas web enviadas pelo servidor, que

executada na JVM (Java Virtual Machine) do browser, sendo necessrio o


respectivo plug-in e algumas consideraes de segurana ao nvel do browser
(deixou de ser suportado pelos browsers).

Curso Intensivo JEE Mdulo I: Viso geral da plataforma JEE Verso: 1.2
NOTA: Proibida a reproduo (total ou parcial) ou distribuio deste documento sem a autorizao da UBI eAltran
Novembro 2017
12
JEE Containers
A arquitectura JEE providencia a cada componente (client, web and business) um
conjunto de servios na forma de container,
Exemplo: gesto de transaes e de estado, multithreading, resource pooling
(conexo a fontes de dados) e outras de complexidade relevante.
Application Client Container
Controla a execuo de client components
Applet Container
Consiste no Navegador e no plugin para a
execuo de applets.
Web Container
Controla a execuo de pginas web, servlets
e JavaBeans (web components).
EJB Container
Controla a execuo de Enterprise JavaBeans
(business components).
Curso Intensivo JEE Mdulo I: Viso geral da plataforma JEE Verso: 1.2
NOTA: Proibida a reproduo (total ou parcial) ou distribuio deste documento sem a autorizao da UBI eAltran
Novembro 2017
13
JEE APIs
API Resumo

Permite a implementao de componentes Enterprise JavaBeans (EJB), executados


no JEE Server, com caractersticas (atributos) e comportamentos (mtodos),
directamente relacionados com a lgica de negcio da aplicao e/ou acesso a
dados.
Enterprise JavaBeans Technology (EJB)
Features JEE 7
Asynchronous local session beans in EJB Lite
Nonpersistent timers in EJB Lite

Permite implementar servlet classes baseadas no model request- response.

Java Servlet Technology (Servlets) Features JEE 7


Nonblocking I/O
HTTP protocol upgrade

Curso Intensivo JEE Mdulo I: Viso geral da plataforma JEE Verso: 1.2
NOTA: Proibida a reproduo (total ou parcial) ou distribuio deste documento sem a autorizao da UBI eAltran
Novembro 2017
14
JEE APIs
API Resumo

Permite a criao e implementao das pginas Web das aplicaes,


JavaServer Pages Technology (JSP)
com elementos HTML, XML e componentes JSF e JSTL.

Conjunto standard de tags que facilita a implementao de JSP com as


JavaServer Pages Standard Tag Library
seguintes caractersticas: Iterao, condies, manipulao de XML,
(JSTL)
internacionalizao, acesso a dados utilizando SQL e formatao.

Framework para desenvolvimento das interfaces web das aplicaes


JEE, napresentado as seguintes principais caractersticas:

-Validao de campos de input ao nvel das aplicaes


-Gesto de eventos despoletados ao nvel das interfaces web.
-Configurao simplificada de navegao na interface web
JavaServer Faces Technology (JSF) -Expression Language (EL) para aceder facilmente a componentes
JavaBeans ao nvel da camada Web das aplicaes JEE.

Novidades JEE7:
HTML5-friendly markup
Faces Flows
Resource library contracts
Curso Intensivo JEE Mdulo I: Viso geral da plataforma JEE Verso: 1.2
NOTA: Proibida a reproduo (total ou parcial) ou distribuio deste documento sem a autorizao da UBI eAltran
Novembro 2017
15
JEE APIs
API Resumo

Permite a persistncia de dados de forma simplificada, com base no


Java Persistence API (JPA) mapeamento entre objectos Java e os modelos relacionais (SGBD), como na
execuo de SQL nativo.

Utilizada no mbito de aplicaes JEE onde existem dependncias entre


operaes read/write ao nvel da base de dados;
Necessrio controlar o incio e o fim de cada bloco transaccional (begin e o
Java Transaction API (JTA)
commit);
Por omisso a plataforma JEE tem a funcionalidade auto-commit
para cada operao de read/write executada na base de dados.

Utilizada para consumo e disponibilizao de web services, baseados na


Java API for RESTful Web Services
arquitectura REST (Representational State Transfer);
(JAX- RS)
Disponibilizado como uma aplicao WEB, atravs de um WAR.

Geridos por um MBean Server


Managed Beans Expem uma interface acessivel da JMX Console, ou atravs de
connectors e adaptors por diversos protocolos: HTTP, SOAP, SNMP, etc.

Curso Intensivo JEE Mdulo I: Viso geral da plataforma JEE Verso: 1.2
NOTA: Proibida a reproduo (total ou parcial) ou distribuio deste documento sem a autorizao da UBI eAltran
Novembro 2017
16
JEE APIs
API Resumo
Especifica atravs e as validaes dos dados de componentes
Bean Validation
JavaBeans, tanto em client-side como em server-side.
Java Message Service API Permite aos componentes da aplicaes JEE criar, enviar, ler e
(JMS) receber mensagens de forma distribuda e assncrona.
Permite aos componentes das aplicaes JEE o envio de
JavaMail API
mensagens de correio electrnico .

Nota:
A plataforma JEE necessita tambm das APIs Java SE (Standard Edition), que por sua vez
ficam disponveis para as aplicaes JEE, como por exemplo:
-Java Database Connectivity API (JDBC)
-Java Naming and Directory Interface API (JNDI)
-Java API for XML Web Services (JAX-WS)
-Java Authentication and Authorization Service (JASS)

Curso Intensivo JEE Mdulo I: Viso geral da plataforma JEE Verso: 1.2
NOTA: Proibida a reproduo (total ou parcial) ou distribuio deste documento sem a autorizao da UBI eAltran
Novembro 2017
17
JEE APIs
Analisemos a relao entre as APIs da plataforma JEE e os containers e
componentes mencionados anteriormente.

Curso Intensivo JEE Mdulo I: Viso geral da plataforma JEE Verso: 1.2
NOTA: Proibida a reproduo (total ou parcial) ou distribuio deste documento sem a autorizao da UBI eAltran
Novembro 2017
18
JEE Application Servers Caractersticas e
comparativo
Caractersticas
Um servidor JEE tem de (ou deve) ser compliant com a especificao de uma verso
JEE permitindo o deployment, a gesto e execuo de todos os componentes do stack.

JSR-000342 - https://jcp.org/en/jsr/detail?id=342

Principais JEE Servers e ltimas verses


JEE Servers
GlassFish V4.1.1 Open-Source
WildFly 10 (Jboss) Open-Source
IBM WebSphere V8,5 Commercial
Oracle Weblogic 12c Commercial
Apache Tomcat 8.0 (9 ) Open-Source

Curso Intensivo JEE Mdulo I: Viso geral da plataforma JEE Verso: 1.2
NOTA: Proibida a reproduo (total ou parcial) ou distribuio deste documento sem a autorizao da UBI eAltran
Novembro 2017
19
JEE Application Servers Caractersticas e
comparativo
O que escolher?
-A escolha depende de vrios factores:
Financeiros
Nota:
Tcnicos
Nos exerccios prticos
Suporte tcnico em ambientes de produo
utilizaremos Glassfish
Exigncias de performance e fiabilidade em ambientes de carga

Usabilidade das ferramentas de administrao

Suporte de clustering

Integrao com ambientes de desenvolvimento (IDE)

Cliente

-Para aplicaes que no necessitem do stack completo JEE, usual a utilizao do Apache Tomcat.
-Em relao a solues comerciais, a aposta dos clientes incide sobre o Oracle Weblogic (PT-SI) e
WebSphere (CGD). (Info Altran)
-O JBoss AS utlizado tambm em solues comerciais de Passenger Information em redes de
transportes (Thales Portugal). (Info Altran)

Curso Intensivo JEE Mdulo I: Viso geral da plataforma JEE Verso: 1.2
NOTA: Proibida a reproduo (total ou parcial) ou distribuio deste documento sem a autorizao da UBI eAltran
Novembro 2017
20
Software Necessrio
Java Runtime Environment (1.8 para executar GlassFish 4.1)
Java SDK Standard Edition
Java EE 7
Server - Glassfish 4
DataBase : JavaDB, MySql
IDE Netbeans (8.2)
ANT: Java Based Build Tool
Bundled with Netbeans : Glassfish, Tomcat, JavaDB, ANT

Curso Intensivo JEE Mdulo I: Viso geral da plataforma JEE Verso: 1.2
NOTA: Proibida a reproduo (total ou parcial) ou distribuio deste documento sem a autorizao da UBI eAltran
Novembro 2017
21
Sesso Prtica Configuring JEE with
GlassFish

Curso Intensivo JEE Mdulo I: Viso geral da plataforma JEE Verso: 1.2
NOTA: Proibida a reproduo (total ou parcial) ou distribuio deste documento sem a autorizao da UBI eAltran
Novembro 2017
22
Using Glassfish

Obtm quick-start-guide.pdf
Hello.war (Packaged Web Application)

Curso Intensivo JEE Mdulo I: Viso geral da plataforma JEE Verso: 1.2
NOTA: Proibida a reproduo (total ou parcial) ou distribuio deste documento sem a autorizao da UBI eAltran
Novembro 2017
23
IDE Caractersticas

IDE (Integrated Development Environment)

No desenvolvimento de aplicaes JEE, deveremos escolher o IDE que melhor


corresponda s seguintes caractersticas:

Enterprise Application Development


Facilidade de desenvolvimento de todos os componentes JEE, client, web e business,
do stack JEE
Web Frameworks

Facilidade de desenvolvimento de aplicaes JEE baseadas em frameworks comuns


como JavaServer Faces 2.0 (Facelets), Spring, Struts.
Web Services

Facilidade de desenvolvimento de web services e ferramentas de gerao

Curso Intensivo JEE Mdulo I: Viso geral da plataforma JEE Verso: 1.2
NOTA: Proibida a reproduo (total ou parcial) ou distribuio deste documento sem a autorizao da UBI eAltran
Novembro 2017
24
Comparativo
Fonte:
http://en.wikipedia.org/wiki/Comparison_of_integrated_development_environments#Java

IDE Licenciamento Plataformas GUI Builder Comment


BlueJ No Windows,Linux,Mac OS X e Solaris No Ensino
DrJava No Windows,Linux,Mac OS X e Solaris No Ensino
Eclipse (JDT) No Windows,Linux,Mac OS X e Solaris Sim
Geany No Windows,Linux,Mac OS X e Solaris No Basic, Fast
Greenfoot No Windows,Linux,Mac OS X e Solaris No
IntelliJ IDEA Sim Windows,Linux e Mac OS X Sim
JBuilder Sim Windows,Linux,Mac OS X e Solaris Sim
JCreator Sim Windows No
JDeveloper No Windows,Linux,Mac OS X e Solaris Sim
jGRASP No Windows,Linux,Mac OS X No
KDevelop No Linux e Solaris Sim

Curso Intensivo JEE Mdulo I: Viso geral da plataforma JEE Verso: 1.2
NOTA: Proibida a reproduo (total ou parcial) ou distribuio deste documento sem a autorizao da UBI eAltran
Novembro 2017
25
Comparativo
Fonte:
http://en.wikipedia.org/wiki/Comparison_of_integrated_development_environments#Java

IDE Licenciamento Plataformas GUI Builder Comment


MyEclipse Sim Windows,Linux,Mac OS X Sim Ensino
NetBeans No Windows,Linux,Mac OS X e Solaris Sim Ensino
Rational
Windows,Linux,Mac OS X, Solaris e e
Application Sim Sim
AIX
Developer
XCode No Mac OS X Sim

IDEs mais conhecidos/utilizados

Curso Intensivo JEE Mdulo I: Viso geral da plataforma JEE Verso: 1.2
NOTA: Proibida a reproduo (total ou parcial) ou distribuio deste documento sem a autorizao da UBI eAltran
Novembro 2017
26
Sesso Prtica Configuring Netbeans

Curso Intensivo JEE Mdulo I: Viso geral da plataforma JEE Verso: 1.2
NOTA: Proibida a reproduo (total ou parcial) ou distribuio deste documento sem a autorizao da UBI eAltran
Novembro 2017
27
Packaging and Deployment (JAR, WAR e EAR)
Java Archive (JAR) um ficheiro compactado usado para distribuir um conjunto de classes Java, uma aplicao-
executavel de java, ou outros itens como imagens, XMLs, etc. usado para armazenar classes compiladas e metadados
associados que podem constituir um programa, uma biblitoeca de cdigo etc. Baseado no formato zip
Arquivos jar podem ser criados e extrados usando o utilitrio "jar" da JDK.
Ferramentas de compresso (como o Winzip / WinRar) tambm podem criar e extrair arquivos .jar.
Do Site do Oracle
Security: You can digitally sign the contents of a JAR file. Users can then optionally grant your software security
privileges it wouldn't otherwise have.
Decreased download time: If your applet is bundled in a JAR file, all the applet's class files and associated resources
can be downloaded to a browser in a single HTTP transaction
Compression: The JAR format allows you to compress your files for efficient storage.
Packaging for extensions: The extensions framework provides a means by which you can add functionality to the Java
core platform
Package Sealing: Packages stored in JAR files can be optionally sealed so that the package can enforce version
consistency. Sealing a package within a JAR file means that all classes defined in that package must be found in the
same JAR file.
Package Versioning: A JAR file can hold data about the files it contains, such as vendor and version information.
Portability: The mechanism for handling JAR files is a standard part of the Java platform's core API.
Curso Intensivo JEE Mdulo I: Viso geral da plataforma JEE Verso: 1.2
NOTA: Proibida a reproduo (total ou parcial) ou distribuio deste documento sem a autorizao da UBI eAltran
Novembro 2017
28
Packaging and Deployment (JAR, WAR e EAR)
As aplicaes JEE podem ser distribudas em ficheiros Java Archive (JAR), Web
Archive (WAR) ou Enterprise Archive (EAR).
dashboard Estrutura de um ficheiro WAR/EAR
META-INF Directoria com pginas web (HTML e JSP), que tambm podem
dashboard
estar ao nvel da raiz.
resources Directoria que apresenta ficheiros relacionados com o layout
css resources das pginas web, CSS e imagens, como tambm cdigo
JavaScript.
images
js Directoria onde se encontram as classes Java dos
WEB-INF componentes web e business (/classes) e bibliotecas
...
auxiliares (/lib), como por exemplo jstl.jar.
WEB-INF
Configuraes de uma aplicao web baseada em JSF,
classes faces-config.xml
definindo regras de navegao, beans, converters e validators.
lib
Configuraes especficas para o JEE Server onde a aplicao
faces-config.xml sun-web.xml
ser instalada.
sun-web.xml Define o mapeamento entre URLs e servlets e outras
web.xml
configuraes como autenticao em determinados URLs.
web.xml
Curso Intensivo JEE Mdulo I: Viso geral da plataforma JEE Verso: 1.2
NOTA: Proibida a reproduo (total ou parcial) ou distribuio deste documento sem a autorizao da UBI eAltran
Novembro 2017
29
Building Java Projects with ANT

Building a Java Project


When you build a project, the IDE calls the appropriate target in the project's Ant
build script. These are principally a build.xml file and the various sub-files that it
includes
The IDE compiles the source files and generates the packaged build output, such
as a JAR file or WAR file. You can build the main project and all of its required
projects, or build any project individually.

Curso Intensivo JEE Mdulo I: Viso geral da plataforma JEE Verso: 1.2
NOTA: Proibida a reproduo (total ou parcial) ou distribuio deste documento sem a autorizao da UBI eAltran
Novembro 2017
30
Sesso Prtica Building and Packaging with ANT

Curso Intensivo JEE Mdulo I: Viso geral da plataforma JEE Verso: 1.2
NOTA: Proibida a reproduo (total ou parcial) ou distribuio deste documento sem a autorizao da UBI eAltran
Novembro 2017
31
Debugging Java EE Applications

As a first step, look at the server logs in domain-dir/logs/server.log.


The log contains output from the GlassFish Server and your applications. You can log
messages from any Java class in your application with System.out.println and the Java
Logging APIs
http://docs.oracle.com/javase/8/docs/technotes/guides/logging/

Servlets can use the ServletContext Interface


Defines a set of methods that a servlet uses to communicate with its servlet container,
for example, to get the MIME type of a file, dispatch requests, or write to a log file.
http://docs.oracle.com/javaee/7/api/javax/servlet/ServletContext.html

NetBeans IDE. logging output appears in the Output window as well as the server log.

Curso Intensivo JEE Mdulo I: Viso geral da plataforma JEE Verso: 1.2
NOTA: Proibida a reproduo (total ou parcial) ou distribuio deste documento sem a autorizao da UBI eAltran
Novembro 2017
32
Debugging Java EE Applications
If you start the GlassFish Server with the --verbose flag, all logging and debugging
output will appear on the terminal window or command prompt and the server log.
If you start the GlassFish Server in the background, debugging information is
available only in the log.
You can view the server log with a text editor or with the Administration Console
log viewer.

To Use the Administration Console LogViewer (http://localhost:4848/)

Select the GlassFish Server node.


Click theView Log Files button.
The log viewer opens and displays the last 40 entries.
To display other entries, follow these steps.
a.Click the Modify Search button.
b.Specify any constraints on the entries you want to see.
c.Click the Search button at the top of the log viewer.
Curso Intensivo JEE Mdulo I: Viso geral da plataforma JEE Verso: 1.2
NOTA: Proibida a reproduo (total ou parcial) ou distribuio deste documento sem a autorizao da UBI eAltran
Novembro 2017
33
Example Logging 1. Implement and Check Log

Index.jsp

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>


<html>
<head><title>Logging with System.out.println</title></head>
<body>
<c:forEach var="ctr" begin="1" end="10" step="1" >
<c:out value="${ctr+2013}"/></br>
<% System.out.println( "counter= " + pageContext.findAttribute("ctr") ); %>
</c:forEach>
</body>
</html>

Curso Intensivo JEE Mdulo I: Viso geral da plataforma JEE Verso: 1.2
NOTA: Proibida a reproduo (total ou parcial) ou distribuio deste documento sem a autorizao da UBI eAltran
Novembro 2017
34
Implement and Check Log
page2.jsp Call it from a link on the index page

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>


<%@page import="java.util.logging.Logger" %>
<html>
<head><title>Logging with Logger.info</title></head>
<body>
<% Logger logger=Logger.getLogger(this.getClass().getName());%>
<c:forEach var="ctr" begin="1" end="10" step="1" >
<c:out value="${ctr+3013}"/></br>
<% String message = "logger counter="+ pageContext.findAttribute("ctr");
logger.info( message ); %>
</c:forEach>
</body>
</html>

Curso Intensivo JEE Mdulo I: Viso geral da plataforma JEE Verso: 1.2
NOTA: Proibida a reproduo (total ou parcial) ou distribuio deste documento sem a autorizao da UBI eAltran
Novembro 2017
35
Dvidas/questes

Curso Intensivo JEE Mdulo I: Viso geral da plataforma JEE Verso: 1.2
NOTA: Proibida a reproduo (total ou parcial) ou distribuio deste documento sem a autorizao da UBI eAltran
Novembro 2017
36

Você também pode gostar