Você está na página 1de 153

Programao Java para Web

Prof. Monteiro 2012/2

Introduo
Plano de aula ..\Apresentao do Plano de Ensino.ppt Metodologia do curso

O incio da Internet
Desenvolvida pela empresa ARPA (Advanced Research and Projects Agency) em 1969, com o objetivo de conectar os departamentos de pesquisa, esta rede foi batizada com o nome de ARPANET. Antes da ARPANET, j existia outra rede que ligava estes departamentos de pesquisa e as bases militares, mas como os EUA estavam em plena guerra fria, e toda a comunicao desta rede passava por um computador central que se encontrava no Pentgono, sua comunicao era extremamente vulnervel.

O que a Internet
Em sntese, a Internet um conjunto de redes de computadores interligadas que tem em comum um conjunto de protocolos e servios, de uma forma que os usurios conectados possam usufruir de servios de informao e comunicao de alcance mundial.

Protocolo TCP/IP
Depois de algumas pesquisas, a ARPANET mudou para um novo protocolo chamado TCP/IP (Transfer Control Protocol/Internet Protocol) desenvolvido no UNIX. A maior vantagem do TCP/IP era que ele permitia (o que parecia ser na poca) o crescimento praticamente ilimitado da rede, alm de ser fcil de implementar em uma variedade de plataformas diferentes de hardware de computador.

Endereo IP
Endereo IP (Internet Protocol) O que um endereo IP? Cada mquina na Internet tem um nmero de identificao exclusivo chamado endereo IP. Um endereo IP comum se parece com este: 216.27.61.137 Para que fique mais fcil para lembrarmos estes nmeros, os endereos IP normalmente so expressos no formato decimal com um "nmero decimal pontilhado" como o descrito acima. No entanto, os computadores se comunicam na forma binria. Veja o mesmo endereo IP no sistema binrio: 11011000.00011011.00111101.10001001

Endereo IP
Obtendo o seu endereo IP: http://www.ip-adress.com/ IP- address.com - What is my IP address? IP address tracer, Broadband Speedtest and DNS Tools.
My IP address Free IP Address tracer and IP address lookup.htm

My IP address: 189.71.201.92 IP Address Location: Aracaju in Brazil ISP of this IP: Tele Norte Leste Participaes S.A. Apresenta um mapa do Google com a localizao da cidade de Aracaju.

URI e URL
URI
Uniform Resource Identifier (Identificador Unificado de Recurso) , basicamente, uma string (conjunto de caracteres) que seguem uma certa sintaxe e usado para definir e identificar um recurso na web. O tipo mais comum de URI a URL.

URL
Uniform Resource Locator (Localizador Unificado de Recurso) Um tipo especfico de URI, usado para definir a localizao de um recurso na web. Geralmente dizemos que a URL o endereo de uma pgina web. Um exemplo de URL: http://www.exemplo.com/pagina/

Localizando um computador
Localizando um computador na rede
URL (Uniform Resource Locator) Localizador de Recursos Uniforme Servidores de Nomes Se o primeiro servidor no contiver o endereo, ele encaminha a um servidor que esteja mais acima na hierarquia
http://meuServidor/meuCaminho/meuArquivo.jsp

Navegadores Web
Navegadores (browsers):
Internet Explorer Netscape Mozzila Mozzila Firefox HotJava Safari (Apple) Google Chrome Outros

Comunicao na Internet
Protocolos de Comunicao
Protocolo TCP/IP Protocolos HTTP, FTP, SMTP

Construindo Pginas (HTML) Remessa de Contedo Esttico Transferindo Contedo Dinmico

Protocolos de Comunicao
HTTP (HyperText Transfer Protocol)
Transfere imagens, sons e texto

FTP (File Transfer Protocol)


Faz download de arquivos

SMTP (Simple Mail Transfer Protocol)


Envia mensagens de correio na internet

Pgina Web
Abra uma pgina Web Clique com o boto direito sobre a pgina Selecione Exibir Cdigo-Fonte O cdigo HTML que descreve a pgina ser exibido. Um arquivo com o cdigo HTML tem geralmente uma terminao .htm ou .html Outros arquivos podem ter terminao .asp, .jsp e outras.

Linguagem HTML
Essa linguagem foi desenvolvida em 1992 por Tim Berners Lee e Robert Caillau no CERN, que o Centro Europeu de Pesquisas de Fsica de Partculas. O HTML um exemplo do SGML (Standard Generalized Markup Language). Originalmente o HTML definia estritamente a estrutura lgica de um documento, e no a sua aparncia fsica. Mas, com a presso dos usurios (principalmente da indstria), as verses posteriores do HTML foram foradas a prover cada vez mais e mais controle da aparncia do documento.

Linguagem HTML
Tags bsicas do HTML Formatao de caracteres World Wide Web Consortium (W3C) CSS (Cascading Style Sheet) Definindo fontes com o CSS Manipulando imagens

HTML
HTML
Hypertext Markup Language (Linguagem de marcao de hipertexto) Linguagem de marcao (que contm elementos que delimitam um determinado contedo para definir o seu papel ou significado dentro do texto) usada para estruturar pginas web. Os documentos HTML so simples arquivos de texto que contm tags de marcao . Essas etiquetas definem os elementos da linguagem HTML e os seus contedos.

Tags bsicas do HTML


Primeira pgina Inserindo ttulos Definindo pargrafos Alinhando textos Comentrios

Definindo fontes com o CSS


Definindo a fonte para o documento Cores e tamanhos

Tags HTML
Uma tag uma marca que ser interpretada pelo navegador (browser). Exemplo:
Incio: <html> Fim: </html> Se o navegador no identificar uma tag, ele ignora sem dar nenhuma mensagem de erro. Pode-se usar o Bloco de Notas para digitar os comandos em HTML. OBS.: O HTML no sensvel ao contexto.

Estrutura bsica de uma pgina


<html> <!-- incio do cdigo HTML --> <head> <! definio do cabealho --> </head> <body> <! definio do corpo da pgina --> </body>

</html>

Elementos
Elemento
Um elemento uma estrutura semntica, composta de: tag de abertura, contedo e tag de fechamento. Um pargrafo, por exemplo, um elemento. Da seguinte forma: <p>Os estudantes representam uma parcela importante de uma sociedade.</p> Ao encontrar essa estrutura, um user-agent vai entend-la como sendo um pargrafo.

Tags
Tag um cdigo usado para marcar o incio e, onde for requerido, o fim de um elemento HTML. H, como exposto acima, tags de abertura e de fechamento. Uma tag de abertura representada por um sinal de menor (<), um nome de elemento HTML, e um sinal de maior (>) (ex. <p>) e deve ser colocada imediatamente antes do incio do contedo do elemento. Uma tag de fechamento se diferencia de uma de abertura apenas por uma barra (/) antes do nome do elemento (ex. </p>) e deve ser colocada imediatamente aps o fim do contedo do elemento.

Atributos
Atributos servem para definir uma propriedade de um elemento HTML. Os atributos HTML devem ser colocados sempre na tag de abertura, logo aps o nome do elemento, precedido de um espao e composto de um nome de atributo, um sinal de igual (=) e um valor de atributo, cercado por aspas duplas (") ou simples () Um bom exemplo de atributo o id, que serve para identificar, de maneira nica, um elemento dentro de um documento HTML. Exemplo: <p id="nome"> Outro bom exemplo o atributo href, usado para definir uma referncia de hipertexto (link) em um elemento A ou LINK. Exemplo: <a href="http://brunotorres.net/"> A tag alt referida no incio do texto , na verdade, um atributo, usado para definir um texto, que deve substituir uma imagem, caso a mesma no esteja disponvel ou no seja suportada pelo user-agent (alt abreviatura de alternate, que significa substituto e no alternativo, como se pensa em geral). Exemplo: <img src="/img/bruno_um_milhao.jpg" alt="Foto do Bruno Torres com um milho de dlares">.

User-agent
User-agent
Uma aplicao que age como cliente em uma transao cliente-servidor feita sobre um determinado protocolo de rede. Na web esse protocolo o HTTP e os user-agents so os browsers, crawlers, dispositivos mveis, leitores de tela, painis em braile e qualquer outra aplicao usada por um usurio para navegar por pginas web.

Crawler (rastreador)
Crawler (ou spider, ou robot)
Qualquer aplicao cuja funo principal seja navegar automaticamente por pginas na web, seguindo hiperlinks (e usando os contedos dessa pgina para algum fim, como salvar seu contedo, ou retirar dele alguma informao especfica). O exemplo clssico de crawler so os programas usados por sistemas de busca (como o Google) para indexar pginas na web.

Exemplo de uma pgina


<html> <!-- pag001.htm (comentrio) --> <head> <title>Minha primeira pgina</title> </head> <body> Esta uma pgina web. Oi, tudo bem? </body> </html>

Exemplo 2
<html> <!-- pag002.htm --> <head> <title>Minha primeira pgina</title> </head> <body> <b>Esta uma pgina web</b> </body> </html>

Exemplo 3
<html> <!-- pag003.htm --> <head> <title>Como definir a cor de fundo da pgina</title> </head> <body bgcolor="yellow"> <b>Esta uma pgina web</b> </body> </html>

Exemplo 4
<html> <!-- pag004.htm --> <head> <title>Como definir a cor do texto da pgina</title> </head> <body bgcolor="blue" text="yellow"> <b>Esta uma pgina web</b> </body> </html>

Exemplo 5
<html> <!-- pag005.htm --> <head> <title>Como definir a cor do texto da pgina usando o CSS</title> <style type="text/css"> body {background-color:red; color:white} </style> </head> <body> Esta uma pgina web que tem um fundo vermelho e texto em branco. </body> </html>

Contedo do arquivo pag007.htm: <html> <!-- pag007.htm --> <head> <title>Como usar um arquivo CSS externo</title>

<link href="estilos/estilo01.css" rel="stylesheet" type="text/css">


</head> <body> <h1>Esta pgina usa um arquivo CSS externo.</h1> </body> </html> Contedo do arquivo estilo01.css: body {background-color:red; color:white;} h1,h2 {color: yellow}

Contedo do arquivo pag008.htm:

<html> <!-- pag008.htm --> <head> <title>Como inserir ttulos e cabealhos em uma pgina web</title>
</head> <body> <h1>Este o cabealho 01</h1> <h2>Este o cabealho 02</h2> <h3>Este o cabealho 03</h3> <h4>Este o cabealho 04</h4> <h5>Este o cabealho 05</h5> <h6>Este o cabealho 06</h6> <h7>Este o cabealho 07</h7> </body> </html>

Contedo do arquivo pag010.htm: <html> <!-- pag010.htm --> <head> <title>Como alinhar o texto de um ttulo</title> </head> <style type="text/css"> h2 {text-align: center} h3 {text-align: right} </style> <body> <h2>Este um ttulo</h2> <h2>Este outro ttulo</h2> <h3>Este um novo ttulo</h3> <h3>Mais um ttulo</h3> </body> </html>

Formulrios
Utilizados para envio de informaes do cliente para o servidor. Um formulrio deve ser definido dentro da pgina HTML entre as tags <body> e </body>

Formulrio bsico
Definindo um formulrio: <form> Digite seu nome:<br/> <input type=text name=nome /><br/> <input type=submit value=Enviar /> </form>

<html> <!-- exemplo8.htm --> <head> <title>Como definir um formulrio</title> <style type="text/css">
body {background-color:red; color:white} </style> </head> <body> Esta uma pgina web com um formulrio. <form> Digite seu nome:<br/> <input type=text name=nome /><br/> <input type="submit" value="Enviar!" /> </form> </body> </html>

<html> <!-- pag012.htm --> <head> <title>Como criar pargrafos numa pgina</title> </head> <style type="text/css"> body {background-color:beige; color:black} p {text-align: justify} h2 {text-align: center} </style> <body> <h2>A dificuldade de aprender</h2> <p>Sempre que quisermos aprender alguma coisa teremos que nos esforar para que isso seja possvel. Devemos sempre lembrar que muitas vezes no poderemos dispor de um professor para tal finalidade.</p> <h2>Os professores fundadores do curso de Computao da UFS</h2> <p>Quando o curso de Bacharelado em Cincia da Computao foi criado s existiam quatro professores para ministrarem as disciplinas:<b><i> <br/>Raimundo Machado Costa,<br/>Antnio Monteiro Freire,<br/>ngela Maria Carvalho Souza e<br/>Ana Rosimere Soares.</i></b> </p> </body> </html>

Formatando Fontes com o CSS


<html> <!-- Exemplo9.htm --> <head> <title>Definindo o tamanho da fonte com o CSS</title> <style type="text/css"> body {font-family: verdana; color:black; font-size:150%} h1{color:green} p{font-size:40} </style> </head> <body> <h1>Cabealho colorido</h1><br/> Este um pargrafo normal com fonte 150% do tamanho normal<br/> <p>Este um pargrafo especial com fonte 40</p> </body> </html>

Links
Link
Um link (ou hyperlink e web link) a conexo entre um documento e outro. Os links so representados pelo elemento <a>. Esse elemento <a> tem uma propriedade href.

Propriedade href
Exemplo:
<a href=http://www.meusite.com/pagina.htm> clique aqui:</a>

Hiperlink
Hiperlink (ou simplesmente link)
Elemento bsico do hipertexto, um link caracteriza uma referncia a um documento externo. Em HTML, os links so definidos usando o elemento A que contm a referncia, no caso uma URI, em seu atributo HREF.

Links
Referncia relativa
<a href=../pagina.htm>Pagina em um nivel acima</a> <a href=../../pagina.htm>Pagina em dois niveis acima</a> Cada nvel acima representado por ../

Referncia absoluta
<a href=http://www.meusite.com/pagina.htm> clique aqui:</a>
Especifica o caminho completo.

Links
Efeitos visuais
A propriedade hover produz efeitos visuais em um link. Exemplo: <style type=text/css>

a: hover {color:red}
</style>

Usando JavaScript
O JavaScript uma linguagem interpretada utilizada para enviar cdigo ao navegador. O browser quem dever interpretar e executar o cdigo. Os navegadores normalmente bloqueiam o contedo em script. O JavaScript sensvel ao contexto.

Usando JavaScript
O JavaScript utiliza uma sintaxe igual de C/C++ e do Java. Para um script poder ser executado em um browser necessrio que o usurio d a sua permisso. Servios de validao de dados podem ser efetuados no cliente com script. As variveis em JavaScript no tm tipo.

Usando JavaScript
Um cdigo script pode ser colocado dentro do cdigo HTML de uma pgina a ser enviada para um cliente, usando as seguintes tags:

<SCRIPT LANGUAGE=JavaScript> Cdigo JavaScript </SCRIPT>

<html> <!-- JScript001.htm --> <head><title>Trabalhando com JavaScript</title> </head> <body> <SCRIPT LANGUAGE="JavaScript"> document.write(Este o meu primeiro JavaScript); </SCRIPT> </body> </html>

<html> <!-- JScript002.htm --> <head><title>Trabalhando com JavaScript</title> </head> <body> <SCRIPT LANGUAGE="JavaScript"> document.write(<b>Este o meu primeiro JavaScript. Agora em negrito</b>); </SCRIPT> </body> </html>

<html> <!-- JScript003.htm --> <head><title>Trabalhando com JavaScript</title> </head> <body> <SCRIPT LANGUAGE="JavaScript"> var Um = 20; var Dois = 30; alert(Um+Dois); </SCRIPT> </body> </html>

<html> <!-- JScript007.htm --> <head><title>Trabalhando com JavaScript</title> </head> <body> <SCRIPT LANGUAGE="JavaScript"> // Este um comentrio de linha var Num = 10; if (Num == 10){ alert(O valor de Num = +Num); /* Este um comentrio de vrias linhas */ document.write(O valor de Num = , Num);} </SCRIPT> </body> </html>

Pgina 1 <html> <!-- JScript009.htm: Soma de dois nmeros --> <head><title>Trabalhando com JavaScript</title> <style type="text/css"> <!-body {background-color:beige; font-family: verdana; color:black; font-size: 80%} //--> </style> <!-- O local correto para escrever uma funo na rea de cabealho --> <SCRIPT LANGUAGE="JavaScript"> <!-function Calcular(){ /* eval() -> funo que transforma uma string em nmero */ var primeiroNum = eval(document.form1.text1.value); var segundoNum = eval(document.form1.text2.value); var resultado = primeiroNum+segundoNum; alert(Soma = +resultado); }

Pgina 2 //--> </SCRIPT> </head> <body> <form name="form1"> Primeiro nmero: <input type="text" name="text1"><br> Segundo nmero: <input type="text" name="text2"><br> Clique aqui para calcular a soma: <input type="button" value="Calcular" onClick="Calcular()"> </form> </body> </html>

Usando caixa de escolha: Pgina 1 <html> <!-- JScript014.htm --> <head><title>Trabalhando com JavaScript</title> </head> <body> <form name="form1"> Escolha um Estado e veja sua capital:<br /> <select name="estados" onChange="Ver_capital()"> <option>Selecione um Estado</option> <option value="Sergipe">Sergipe</option> <option value="Alagoas">Alagoas</option> <option value="Bahia">Bahia</option> <option value="Pernambuco">Pernambuco</option> <option value="Paraba">Paraba</option> </select><br /><br /> Esta a Capital do Estado escolhido:<br /> <input type="text" name="capital"> </form>

Pgina 2 <SCRIPT LANGUAGE="JavaScript"> <!-function Ver_capital(){ var Estado= document.form1.estados.value; switch(Estado){ case 'Sergipe': { document.form1.capital.value = 'Aracaju'; break; } case 'Alagoas': { document.form1.capital.value = 'Macei'; break; } case 'Bahia': { document.form1.capital.value = 'Salvador'; break; }

Pgina 3 case 'Pernambuco': { document.form1.capital.value = 'Recife'; break; } case 'Paraba': { document.form1.capital.value = 'Joao Pessoa'; break; } } // fim do switch } // fim da funo //--> </SCRIPT> </body> </html>

Usando o comando while: <html> <!-- Script015.htm --> <head><title>Trabalhando com JavaScript</title> </head> <body> <!-- Comando while --> <SCRIPT LANGUAGE="JavaScript"> <!-var x = 1 document.write(<b>Impresso de linhas numeradas usando o comando while</b><hr>); while (x<=10) { document.write(Esta a linha de texto n + x + <br>); x++; } document.write(<hr>); //--> </SCRIPT> </body> </html>

Usando o comando for: <html> <!-- Script016.htm --> <head><title>Trabalhando com JavaScript</title> </head> <body> <!-- Comando while --> <SCRIPT LANGUAGE="JavaScript"> <!-var x; document.write(<b>Impresso de linhas numeradas usando o comando for</b><hr>); for (x=1; x<11; x++) document.write('Esta a linha de texto n '+x+'<br />'); document.write('<hr>'); //--> </SCRIPT> </body> </html>

Usando funo com argumentos:

Pgina 1
<html> <!-- JScript018.htm: Soma de dois nmeros --> <head><title>Trabalhando com JavaScript</title> <style type="text/css"> <!-body {background-color:beige; font-family: verdana; color:black; font-size: 80%} //--> </style> <!-- O local correto para escrever uma funo na rea de cabealho --> <SCRIPT LANGUAGE="JavaScript"> <!-function Soma(x, y){ var Resultado = x + y; return Resultado; } //--> </SCRIPT>

Pgina 2 <SCRIPT LANGUAGE="JavaScript"> <!-function Exibir(){ var Um = eval(document.form1.text1.value); var Dois = eval(document.form1.text2.value) alert('Soma = '+Soma(Um, Dois)); // Chama a funo } //--> </SCRIPT> </head> <body> <form name="form1"> <h2>Chamando a funo com argumentos</h2><br /><hr /> <h4>Soma de dois nmeros:</h4><br /> Primeiro nmero: <input type="text" name="text1"><br /><br /> Segundo nmero: <input type="text" name="text2"><br /><br /> <!--JavaScrit:Exibir() ->o link dever executar um cdigo JavaScript --> <a href="JavaScript:Exibir()">Clique aqui para calcular a soma!</a> </form></body> </html>

Manipulando elementos com JavaScript


Ns podemos manipular qualquer elemento da pgina HTML atravs do JavaScript. Exemplo:
<html> <!-- JScript019.htm: Altera um boto --> <head><title>Trabalhando com JavaScript</title> <style type="text/css"> <!-body {background-color:beige; font-family: verdana; color:black; font-size: 80%} //--> </style>

<SCRIPT LANGUAGE="JavaScript"> <!-function Alterar(){ document.meuForm.meuBotao.value="Voc me clicou!"; } //--> </SCRIPT> </head> <body> <form name="meuForm">

<h2>Alterando a mensagem de um boto</h2><br /><hr /> <input type="button" name="meuBotao" value="Clique aqui" onClick="Alterar()"/><br /><br />
</form> </body> </html>

XML
O que XML?
XML (eXtensible Markup Language) XML uma linguagem de marcao semelhante ao HTML. XML foi projetada para transportar e armazenar dados. As tags XML no so predefinidas. O programador deve definir as suas prprias tags. XML foi projetada para ser auto-descritiva. XML tem o seu uso recomendado pelo W3C.

XML
Qual a diferena entre XML e HTML?
XML no substitui o HTML. XML e HTML tm objetivos diferentes:
XML foi projetada para transportar e armazenar dados com o foco nos dados em si. HTML foi projetada para exibir dados com o foco na maneira de visualizar os dados.

XML no produz uma ao direta. Foi criada para estruturar, armazenar e transportar informaes.

Comparaes entre HTML e XML


HTML e XML so primos. Eles derivam da mesma inspirao, o SGML (Standard Generalized Markup Language). Ambos identificam elementos em uma pgina e ambos utilizam sintaxes similares. Se voc familiar com HTML, tambm o ser com o XML. A grande diferena entre HTML e XML que o HTML descreve a aparncia e aes para apresentao de uma pgina na rede enquanto o XML no descreve nem aparncia e nem aes, mas sim o que cada trecho de dados ou representa! Em outras palavras, o XML descreve o contedo do documento !

Comparaes entre HTML e XML


As regras de formatao para documentos XML so muito mais rgidas do que para documentos HTML. Uma tag esquecida ou um atributo sem aspas torna o documento inutilizvel, enquanto que no HTML isso tolerado. As especificaes oficiais do XML determinam que as aplicaes no podem tentar adivinhar o que est errado em um arquivo (no HTML isso acontece), mas sim devem parar de interpret-lo e reportar o erro.

Comparaes entre HTML e XML


O XML prov uma representao estruturada dos dados que mostrou ser amplamente implementvel e fcil de ser desenvolvida. Implementaes industriais na linguagem SGML (Standard Generalized Markup Language) mostraram a qualidade intrnseca e a fora industrial do formato estruturado em rvore dos documentos XML. O XML um subconjunto do SGML, o qual otimizado para distribuio atravs da web, e definido pelo Word Wide Web Consortium(W3C), assegurando que os dados estruturados sero uniformes e independentes de aplicaes e fornecedores.

Comparaes entre HTML e XML


O XML prov um padro que pode codificar o contedo, as semnticas e as esquematizaes para uma grande variedade de aplicaes desde as mais simples at as mais complexas. O XML sensvel ao contexto. O XML muito usado em:
Transferncia de dados na Web Configurao de aplicativos Armazenamento de informaes

XML
Exemplo de como guardar um recado para Pedro mandado por Maria:
<recado> <para>Pedro</para> <de>Maria</de> <titulo>Lembrete</titulo> <conteudo>No se esquea do combinado para o fim de semana</conteudo> </recado>

Regras para nomes XML


Regras para criar nomes usados em XML:
Podem conter letras, nmeros e outros caracteres; No podem comear com dgitos ou caracteres de pontuao; No podem comear com as letras xml (ou XML ou Xml, etc). No podem conter espaos.

Elementos e Atributos XML


Elementos XML podem conter atributos na tag de incio a exemplo do HTML; Tanto em HTML como em XML, os atributos provm informaes adicionais sobre os elementos. Exemplos:
<file type=gif>computer.gif</file> <pessoa sexo=feminino>

Elementos versus Atributos


Atributo sexo: <pessoa sexo=feminino> <firstname>Ana</firstname> <lastname>Santos</lastname> </pessoa>

Elemento sexo: <pessoa> <sexo>feminino</sexo> <firstname>Ana</firstname> <lastname>Santos</lastname> </pessoa>

Expandindo um elemento em XML


<recado> <data> <dia>10</dia> <mes>03</mes> <ano>2009</ano> </data> <para>Maria</para> <de>Pedro</de> <titulo>Recado</titulo> <conteudo>No esquea do combinado!</conteudo> </recado>

Parser XML
Todos os navegadores (browsers) modernos tm um parser que pode ser usado para ler e manipular um arquivo XML. Todos os parsers lm o arquivo XML e o convertem para um objeto XML DOM (Document Object Model). O DOM enxerga o documento XML como uma estrutura em rvore.

O Que XML?
Exemplo Documento XML
<?xml version="1.0" > <livros> <livro> <ISBN>1234</ISBN> <titulo>Inside XML</titulo> <editora>New Riders</editora> <edio>3</edio> <autor> <nome>Steven</nome> <endereco>NY</endereco> </autor> <autor> <nome>Holzner</nome> <endereco>Miami</endereco> </autor> </livro> <livro> ... </livro> </livros>

Elemento Raiz

livros

livro

livro

ISBN titulo editora edio

autor endereco

autor nome endereco nome

1234 Inside New 3 XML Riders


Miami

Holzner

NY

Steven

O Que XML?
Linguagem de Marcao-Descreve o contedo de um documento atravs de marcas .
Documento sem Marcas Documento com Marcas

Horrio Aula XML Wed, Jan 29, 2003 4:18 PM vvidal@lia.ufc.br eti-l@lia.ufc.b
A aula comear as 19:45

<e-mail> <head> <subject> Horrio Aula XML </subject> <data> Wed, Jan 29, 2003 4:18 PM</data> <from> vvidal@lia.ufc.br </from> <to> eti-l@lia.ufc.br </to> </head> <body> A aula comear as 19:45 </body> </e-mail>

XML DOM
O contedo do documento XML pode ser modificado ou deletado e novos elementos podem ser criados. No exemplo que se segue, usaremos a referncia DOM para acessar o texto do elemento <para>:
xmlDoc.getElementsByTagName(para)[0].childNodes[0].nodeValue

XML DOM
Onde:
xmlDoc -> documento XML criado pelo parser xmlDoc.getElementsByTagName(para)[0] -> primeiro elemento <para> childNodes[0] -> primeiro n filho do elemento <para> (o n texto) nodeValue -> o valor do n (o texto existente)

HTML DOM
O HTML DOM define uma maneira padro para acessar e manipular documentos HTML usando JavaScript. No exemplo seguinte mostrado uma referncia DOM que permite a troca do texto de um elemento HTML onde id=para:
Exemplo:
document.getElementById(para).innerHTML=

HTML DOM
Onde:
Document -> documento HTML getElementById(para) -> elemento HTML onde id=para innerHTML -> o texto contido no elemento HTML

XML
Exemplo do uso de um arquivo XML numa pgina HTML: Definindo e exibindo um catlogo de CDs: Ttulo do CD Cantor Pas de origem Gravadora Preo Ano da gravao Vamos usar 3 arquivos: Arquivo XML (define elementos e atributos e o uso do CSS) Arquivo CSS (define como formatar os elementos) Arquivo HTML (manipula o arquivo XML)

XML DOM
O objeto DOM o modelo dos objetos que formam a hierarquia de toda a estrutura de uma pgina Web.

Arquivo XML: Pgina 1

<?xml version="1.0" encoding="ISO-8859-1"?> <?xml-stylesheet type="text/css" href="cd_catalog.css"?>


<CATALOG> <CD> <TITLE>Empire Burlesque</TITLE> <ARTIST>Bob Dylan</ARTIST> <COUNTRY>USA</COUNTRY> <COMPANY>Columbia</COMPANY> <PRICE>10.90</PRICE> <YEAR>1985</YEAR> </CD> <CD> <TITLE>Hide your heart</TITLE> <ARTIST>Bonnie Tyler</ARTIST> <COUNTRY>UK</COUNTRY> <COMPANY>CBS Records</COMPANY> <PRICE>9.90</PRICE> <YEAR>1988</YEAR> </CD>

Pgina 2 <CD> <TITLE>Asa Branca</TITLE> <ARTIST>Luis Gonzaga</ARTIST> <COUNTRY>Brasil</COUNTRY> <COMPANY>Som Brasil</COMPANY> <PRICE>15.00</PRICE> <YEAR>1950</YEAR> </CD> </CATALOG>

Arquivo CSS -> cd_catalog.css


CATALOG {background-color: #ffffff; width: 100%;} CD {display: block;margin-bottom: 30pt;margin-left: 0;}

TITLE {color: #FF0000;font-size: 20pt;}


ARTIST {color: #0000FF;font-size: 20pt;}

COUNTRY,PRICE,YEAR,COMPANY {display: block;color: #000000;margin-left:20pt;}

Pgina 1 <html> <body> <b>Catalogo de CDs</b><br/><br/> <script type="text/javascript"> var xmlDoc=null; if (window.ActiveXObject) {// code for IE xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); } else if (document.implementation.createDocument) {// code for Mozilla, Firefox, Opera, etc. xmlDoc=document.implementation.createDocument("","",null); } else { alert('Your browser cannot handle this script'); } if (xmlDoc!=null) { xmlDoc.async=false; xmlDoc.load("cd_catalog.xml"); document.write("<table border='1'>");

Pgina 2 var x=xmlDoc.getElementsByTagName("CD"); for (i=0;i<x.length;i++) { document.write("<tr>"); document.write("<td>"); document.write( x[i].getElementsByTagName("ARTIST")[0].childNodes[0].nodeValue); document.write("</td>"); document.write("<td>"); document.write( x[i].getElementsByTagName("TITLE")[0].childNodes[0].nodeValue); document.write("</td>"); document.write("</tr>"); } document.write("</table>"); } </script> <br/><br/> Fim do catalogo. </body> </html>

Manipulando arquivos XML


JavaScript no manipula arquivos de Texto. O mximo que se pode fazer ler um arquivo XML utilizando elementos do DOM W3C. Para gravar um arquivo XML que do tipo texto teremos de recorrer ao Java.

XSL
XSL (eXtensible Stylesheet Language) usada na definio das regras para transformar XML em HTML. A XSL pode ser usada para:
Transformar XML em HTML Ordenar dados em documentos XML Formatar dados XML

XSL e XSLT
XSLT (eXtensible Stylesheet Language Transformations) uma linguagem para transformao de documentos XML em documentos XHTML ou para outros documentos XML. Quando a World Wide Web Consortium (W3C) produziu seu primeiro trabalho sobre XSL, a linguagem continha a sintaxe para transformao e para formatao em documentos XML. Mais tarde, o Grupo de Trabalho da W3C dividiu o documento original em Recomendaes separadas: XSLT e XSL-FO (eXtensible Stylesheet Language Formatting Objects) Veja o exemplo com XSL:

<?xml version="1.0" encoding="ISO-8859-1"?> <?xml-stylesheet type="text/xsl" href="cdcatalog.xsl"?> <!-- Edited by XMLSpy --> <catalog> <cd> <title>Empire Burlesque</title> <artist>Bob Dylan</artist> <country>USA</country> <company>Columbia</company> <price>10.90</price> <year>1985</year> </cd> <cd> <title>Hide your heart</title> <artist>Bonnie Tyler</artist> <country>UK</country> <company>CBS Records</company> <price>9.90</price> <year>1988</year> </cd> </catalog>

<?xml version="1.0" encoding="ISO-8859-1"?> <!-- Edited by XMLSpy --> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <body> <h2>My CD Collection</h2> <table border="1"> <tr bgcolor="#9acd32"> <th>Title</th> <th>Artist</th> </tr> <xsl:for-each select="catalog/cd"> <tr> <td><xsl:value-of select="title"/></td> <td><xsl:value-of select="artist"/></td> </tr> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet>

Servidores Web
Apache Tomcat
Trabalha usando a porta 8080

Internet Information Server IIS Java 2 Plataform, Enterprise Edition - J2EE JBoss Outros

O servidor Tomcat
o servidor para aplicaes web no modelo cliente/servidor Processa requisies de clientes usando as tecnologias JSP e Servlets Segue o padro bsico para aplicaes web

Servidor Local
Para saber se o servidor Tomcat est rodando, abra o navegador e v ao endereo: http://localhost:8080/ ou http://127.0.0.1:8080/

Servidor Local
Para acessar uma pgina que est localizada no computador do usurio: http://localhost:8080/pgina.jsp ou http://127.0.0.1:8080/pgina.jsp A porta 8080 usada pelo servidor Tomcat.

O servidor Tomcat
Obtendo o Tomcat
Desenvolvido pela fundao Apache, no projeto Jakarta, tendo cdigo aberto e gratuito. Pode ser obtido em http://jakarta.apache.org Obs.: O Tomcat j est contido no NetBeans

O servidor Tomcat
Aps a sua instalao, deve-se definir as seguintes varveis de ambiente:
JAVA_HOME
c:\Arquivos de programas\Java

CATALINA_HOME
c:\Tomcat

OBS.: Quando instalado dentro do NetBeans essas definies so feitas pelo instalador.

O servidor Tomcat
Para usar o Tomcat sem o Netbeans, cria-se o cdigo da aplicao e copia a pasta da mesma para o diretrio do Tomcat, colocando na pasta webapps, que a pasta default para o Tomcat criar o continer com a aplicao.

Servidor Web
Diretrio raiz do servidor. Todo servidor tem uma pasta default onde so colocados os aplicativos a serem utilizados. Todo servidor tem nesta pasta uma pgina default chamada:
index.tipo ou default.tipo, onde tipo pode ser: htm, jsp, asp, etc.

Quando um cliente acessa o servidor Web, esse acesso desviado para esta pasta default.

O servidor Tomcat
O Tomcat porm no implementa um container EJB (aplicaes em 3 camadas). Para aplicaes que utilizam Enterprise JavaBeans (EJB), voc deve procurar um servidor de aplicaes completo, como JBoss ou o J2EE, entre outros.

Solicitaes e respostas
Solicitao (request) cliente
Encapsula as informaes enviadas pelo navegador em cada solicitao.

Resposta (response) servidor web


Responsvel pelo envio de informaes ao navegador, na forma de uma pgina HTML.

Tecnologias Web
Aplicativos CGI (Common Gateway Interface) exe Aplicativos ISAPI (NSAPI) - (Internet Server Application Programming Interface) - dll Tecnologia ASP (Active Server Pages) Tecnologia JSP (Java Server Pages)

Tecnologias Web
Aplicaes distribudas e multicamada:
Camada do cliente Camada da Web Camada de negcios Camada de dados persistentes

Tecnologia DotNet (IIS e C#) Tecnologia J2EE (Java)

Usando o NetBeans
The NetBeans IDE is a free, open-source Integrated Development Environment for software developers. The IDE runs on many platforms including Windows, Linux, Solaris, and the MacOS. It is easy to install and use straight out of the box. The NetBeans IDE provides developers with all the tools they need to create professional cross-platform desktop, enterprise, web and mobile applications.

Usando o NetBeans
O NetBeans IDE um software livre de cdigo aberto voltado para desenvolvedores de softwares. O IDE roda em muitas plataformas incluindo Windows, Linux, Solaris e MacOS. muito fcil de instalar e de uso direto. O NetBeans IDE prov o desenvolvedor com todas as ferramentas necessrias para criar de modo profissional aplicaes normais, aplicaes enterprise, web e mveis.

Usando o NetBeans
Criando uma aplicao desktop simples para imprimir uma mensagem na console (HelloWordApp).

Criando uma aplicao desktop simples para calcular uma soma (Exemplo1).

Aplicao Desktop
Diretrios de uma aplicao desktop:
Web Pages Source Packages Test Packages Libraries Test Libraries

HelloWordApp
public class HelloWorldApp { /** Creates a new instance of HelloWorldApp */ public HelloWorldApp() { } public static void main(String[] args){ System.out.println("Ol todos vocs! Bem-vindos Programao Web!"); } }

Exemplo1
public class Main { public static void main(String[] args) { int n, c=0, s=0; /* Soma os nmeros de 1 at n */ String str = JOptionPane.showInputDialog ("Digite o valor de N:"); n = Integer.parseInt(str); while (c<n){ c++; s+=c; } JOptionPane.showMessageDialog(null,"Soma = " + s, "Resultado", JOptionPane.INFORMATION_MESSAGE); } }

Aplicaes Web no NetBeans


Criando uma aplicao web utilizando a pgina default index.jsp para exibir uma mensagem (ExemploWeb).

Criando uma aplicao web utilizando a pgina default index.jsp com um Form e uma pgina Resposta (Bemvindo).

Usando o NetBeans
Na IDE do NetBeans temos: Projetos Arquivos Servios Em servios temos: Databases Web Services Enterprises Beans Servers Web Servers

Aplicao Web
Diretrios de uma aplicao Web:
Pginas Web Arquivos de Configurao Recursos do Servidor Pacotes de Fontes Pacotes de Teste Bibliotecas Bibliotecas de Testes

ExemploWeb
<html> <!- - index.jsp - -> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP Page</title> </head> <body> <h2>Ol vocs! Bem-vindos Programao Web!</h2> </body> </html>

Tecnologia JSP
Java Server Pages uma tecnologia da Sun que se utiliza de pginas HTML com cdigo script dentro da pgina: <body>Pgina JSP <% cdigo Java %> </body>

Tecnologia Servlet
Os servlets so programas Java que rodam no servidor, sendo carregados apenas uma vez e executados de forma multi-thread. Os servlets processam requisies Get e Post de pginas de clientes. Essa tecnologia dever ser mostrada mais adiante.

Scriptlets
So blocos de cdigo Java colocados nas pginas HTML que ficam limitados entre as tags <% e %>. Exemplo: <% int p = 0; p++; %> O cdigo Java dos Scriptlets roda no lado do servidor.

Usando Scriptlets
Um scriptlet criado anexando cdigo java pgina JSP, com o auxlio das tags <% e %>; Exemplo 1: <% String s1 = resposta; s1 = s1 + certa; %> <p> Dados obtidos: <br /> Exemplo 2: <h1> Al <%= name %>, <br /> </h1> Exemplo 3: <% out.println("<b>S A I D A</b>"); %>

Usando Scriptlets
Criando uma aplicao web utilizando o arquivo index.jsp com um scriptlet contendo um comando for para imprimir 10 linhas: <% String saida = ; for (int i = 1; i <= 10; i++) saida = saida + linha + i; %>

Mtodos get e post


No formulrio podemos usar o mtodo get (default) ou o mtodo post. No mtodo get as informaes do formulrio so colocadas na URL: Exemplo: http://endereo/pgina.jsp?nome=Jos

Mtodos get e post


No mtodo post as informaes so enviadas de forma encapsulada para o servidor. Exemplo:
http://endereo/pgina.jsp

Mtodos Get e Post


Quando usar o Get:
Envio de pouca informao (at 2 K) No haver necessidade de sigilo

Quando usar o Post:


Envio de muita informao Houver necessidade de sigilo

Criando uma pgina JSP


No NetBeans:
Crie uma aplicao Web Bemvindo Abra o arquivo index.jsp e defina um form Crie um arquivo resposta.jsp Capturando a informao em resposta.jsp:
request.getParameter(campo)

Respondendo para o cliente:


<%= conteudo %> OU <% out.println(conteudo); %>

Bemvindo (pgina 1)
Arquivo index.jsp
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Processando uma solicitao "get" com dados</title> </head> <body> <form action = "resposta.jsp" method = "get"> <p>Digite o seu primeiro nome e pressione Enviar</p>

Bemvindo (pgina 2)
<p><input type = "text" name = "firstName" /> <input type = "submit" value = "Enviar" /> </p> </form> </body> </html>

Bemvindo (pgina 3)
Arquivo Resposta.jsp
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP Page</title> </head> <body> <h1>Pgina de Resposta</h1> <% // incio de scriplet String name = request.getParameter("firstName"); if (name != null) { %>

Bemvindo (pgina 4)
<h1>Al <%= name %>, <br /> Bem-vindo ao Jave Server Pages!</h1> <% // continuao do scriptlet } // fim do if true else { } %> // fim do scriptlet </body> </html>

Chamando uma pgina JSP


Definindo um formulrio: <form method=get action=solicita.jsp> Digite seu nome:<br/> <input type=text name=nome /><br/> <input type=submit value=Enviar /> </form>

Utilizando o mtodo Post


Extraindo campos de um formulrio
Exemplo: ExtrairCampos

Extraindo um array de um Form


Exemplo: ExtrairArray

Utilizando um objeto Session


Exemplo: UsandoSessao1

Usando scriptles
Exemplo: UsandoFor

Extraindo campos de uma pgina


Neste exemplo uma solicitao ser feita ao servidor com o uso de um formulrio. Em index.jsp acrescente o seguinte cdigo no incio: <%@ page import="java.util.*" %> Seguido do seguinte corpo de pgina:

<html> <body> <h1>Extraindo campos</h1> <% Enumeration campos = request.getParameterNames(); while (campos.hasMoreElements()){ String campo = (String)campos.nextElement(); String valor = request.getParameter(campo); %> <li><%= campo %> = <%= valor %></li> <% } %> <form method="Post" action="index.jsp"> Nome: <input type="text" size="20" name="nome" /><br /> Telefone: <input type="text" size="20" name="Telefone" /> <input type="submit" name="submit" value="Enviar" /> </form> </body> </html>

Extraindo um array
Neste exemplo uma solicitao ser feita ao servidor com o uso de um formulrio. Em index.jsp acrescente o seguinte cdigo no incio: <%@ page import="java.util.*" %> Seguido do seguinte corpo de pgina:

Pgina 1
<html> <body> <h1>Capturando um array</h1> <% Enumeration campos = request.getParameterNames(); int i = 0; int[]x = new int[10]; while(campos.hasMoreElements()){ String paramName = (String)campos.nextElement(); String paramValue = request.getParameter(paramName); %> <li>Campo <%=paramName%> &nbsp; &nbsp; Valor = <%=paramValue%></li> <% x[i]= Integer.parseInt(paramValue); i++; }

Pgina 2
String valores = new String(); valores=""; for (int k = i-1; k >= 0; k--) valores = valores + x[k] + ' '; %> <h3>Valores digitados</h3> <%=valores%><br/> <form method="Post" action="index.jsp"> Digite os valores inteiros:<br/> Valor 1: <input type="text" size="10" name="1" /><br /> Valor 2: <input type="text" size="10" name="2" /><br /> Valor 3: <input type="text" size="10" name="3" /><br /> Valor 4: <input type="text" size="10" name="4" /><br /> <input type="submit" value="Enviar" /> </form> </body> </html>

Identificando um cliente
Cada vez que um usurio se conecta uma aplicao web, o servidor cria uma sesso para ele. Para que o servidor reconhea cada usurio que se conecta. Ele cria na memria Ram da mquina do cliente pequenos arquivos texto chamados Cookies. Esses Cookies guardam um nmero de identificao que gerado pelo servidor web e enviado mquina cliente. O usurio pode programar seu navegador para impedir a gravao de Cookies.

Cookies
Um cookie uma parte de um texto que um servidor da web armazena no disco rgido do usurio. Os cookies permitem que um site armazene informaes no computador do usurio e depois as recupere. As informaes so armazenadas como pares de nome-valor. A grande maioria dos sites armazena apenas uma informao, uma ID de usurio. Mas o site pode armazenar muitos pares de nome-valor, se quiser. Exemplo: UserID A9A3BECE0563982D www.goto.com/ Os cookies so persistncias temporrias feitas no lado do usurio, e sesses so persistncias dependentes de cookies, mas realizadas no lado do servidor.

Session
O protocolo HTTP stateless, ou seja, ele no mantm um estado/conexo. Toda a interao que o seu cliente fizer com um servidor Web acarretar em uma nova requisio e resposta. As requisies so independentes e possuem um tempo de vida (conexo, envio de mensagem, resposta, encerramento da conexo). O servidor Web no capaz de identificar se duas requisies vieram de um mesmo navegador, e o mesmo no faz nenhum gerenciamento em memria para que mensagens sejam compartilhadas entre requisies.

Cookies e Sessions
Atravs de cookies o servidor Web capaz de trocar informaes de estado com o navegador do usurio. Desse modo, somos capazes de adicionar produtos a um carrinho de compras, sem perder estas informaes ao mudar de pgina, sair do website ou at mesmo fechar o navegador. Tecnicamente falando, um cookie uma pequena quantidade de informao persistida temporariamente pelo navegador. Os navegadores normalmente limitam o tamanho dos cookies em at 4KB, e apagam cookies com a data de validade vencida.

Objeto Session
Uma sesso o intervalo de tempo em que um usurio fica conectado com um site. Quando uma sesso comea o servidor web gera um identificador da sesso. Variveis de sesso:
Session(nome) = Maria Session(fone) = 3423-2145

Atributos de uma sesso


Neste exemplo uma solicitao ser feita ao servidor com o uso de um formulrio. Neste exemplo precisamos criar outra pgina: sessao1.jsp Em index.jsp acrescente o seguinte cdigo no incio: <%@ page import="java.util.*" %> Seguido do seguinte corpo de pgina:

<body> <h1>Formulrio</h1> <h1>Id da sesso: <%=session.getId() %></h1> <h3><li>Essa sesso foi criada em <%= new Date(session.getCreationTime()) %></li></h3> <% Enumeration atribs = session.getAttributeNames(); while(atribs.hasMoreElements()){ String atrib = (String)atribs.nextElement(); String valor = (String)session.getAttribute(atrib); %> <li><%= atrib %> = <%= valor %></li> <% } %> <form method="Post" action="sessao1.jsp"> Nome: <input type="text" size="20" name="nome" /><br /> Fone: <input type="text" size="20" name="fone" /><br /> <input type="submit" name="submit" value="Enviar" /> </form> </body>

Pgina sessao1.jsp
<body> <h1>Id da sesso: <%= session.getId() %></h1> <% String nome = request.getParameter("nome"); String fone = request.getParameter("fone"); if (nome != null && nome.length() > 0) session.setAttribute("nome", nome); if (fone != null && fone.length() > 0) session.setAttribute("fone", fone); %> <form type="Post" action="index.jsp" > <input type="submit" name="submit" value="Retornar" /> </form> </body>

Scriptlets
Exemplo UsandoFor
<html> <body> <h1>Utilizando o For numa JSP</h1><br /> <p><% String resp = ""; for (int i=1; i <= 10; i++) resp = resp + "Linha n. " + i + "<br />"; %> </p> <%= resp %> </body> </html>

Diretrio raiz da aplicao


Todo servidor tem uma pasta default onde so colocados os aplicativos a serem utilizados. Como j foi dito, todo servidor tem nesta pasta uma pgina default chamada:
index.tipo ou default.tipo, onde tipo pode ser: htm, jsp, asp, etc.

Quando um cliente acessa o servidor Web, esse acesso desviado para esta pasta default.

Diretrio raiz
No IIS (Microsoft), a pasta est localizada em:
c:\inetpub\wwwroot

No Tomcat:
c:\tomcat\webapps

No J2EE:
c:\sun\appserver\domain\domain1

Pode-se tambm definir outra pasta de acesso. No IIS esta pasta seria um diretrio virtual. Esta tcnica ajuda a melhorar a segurana do site.

Estrutura de uma aplicao


Para rodar no Tomcat, uma aplicao web precisa ser organizada num diretrio com uma estrutura organizada da seguinte maneira: Temos como exemplo uma aplicao Web chamada app1:

Diretrio de uma aplicao


App1/
src/ (diretrio de fontes) fontes Java web/ (arquivos do mdulo web) WEB-INF/ (diretrio obrigatrio) classes/ (arquivos .class) lib/ (pacotes .jar de bibliotecas) web.xml (arquivo de configurao de contexto) index.jsp outros arquivos .jsp

Estrutura de uma aplicao


No NetBeans a estrutura de uma aplicao tem um esquema de sub-diretrios diferentes. Instalado junto com o NetBeans, o Tomcat vai ficar na pasta: c:\apache-tomcat-verso

Diretrio raiz no NetBeans


A aplicao vai ficar na sub-pasta: (no usa webapps) work Catalina localhost ExemploWeb (sua aplicao) org apache jsp arquivo_jsp.java (seu arquivo jsp)

Criando um contexto (Tomcat)


O Tomcat quando inicia, cria um contexto para cada sub-diretrio do diretrio webapps O requisito para criar um contexto que exista um sub-diretrio WEB-INF no diretrio da aplicao. Caso no exista um arquivo web.xml, vai usar o default do Catalina.

Contexto de uma aplicao


No Tomcat para cada aplicao precisa ser criado um contexto. Cada contexto uma unidade de aplicao web Java que possui suas prprias configuraes. A configurao de um contexto feita atravs de um arquivo web.xml, descritor de contexto, colocado no sub-diretrio WEB-INF da aplicao.

Criando um contexto no Tomcat


Como j foi citado, existem dois tipos bsicos de aplicaes com a tecnologia Java:
Servlets JSP

Cada aplicao dever ser um sub-diretrio no Tomcat, assim na sua inicializao, o servidor criar um contexto para cada aplicao.

Diretrios do NetBeans
O NetBeans disponibiliza trs estruturas bsicas de recursos:
Projetos
contm as pastas dos projetos abertos

Arquivos
contm os arquivos dos projetos abertos

Servios
Contm os recursos disponveis como databases, servidores web, e outros.

Usando o NetBeans
Em Servidores temos:
GlassFish V2 Tomcat 6.0

Em Tomcat 6.0, com o boto direito, podemos acessar as propriedades:


Diretrios do Tomcat Usurio administrador (admin) -> default Senha administrador (adminadmin) -> default

Aplicaes fora do NetBeans


Quando tivermos de colocar nossas aplicaes fora do ambiente de desenvolvimento, NetBeans, Eclipse ou outros, deveremos colocar a aplicao no diretrio raiz do servidor Web. Quando estamos no ambiente de desenvolvimento, o framework faz isso de maneira automtica.