Você está na página 1de 10

Plataforma baseada em HTTP

abre conexo

Cliente
(Navegador)

GET /index.html
pgina

Fundamentos da Arquitetura Web

Servidor
www.furb.br

fecha conexo

Prof. Adilson Vahldick

Cabealhos HTTP


Requisio: passa informaes do cliente


para o servidor (sobre o browser,
cookies,URL, dados de formulrio, etc)
Resposta: passa informaes do servidor
para o cliente (tipo de contedo [text/html,
image/gif, etc], o contedo, cookies a serem
criados,

Prof. Adilson Vahldick

Prof. Adilson Vahldick

Mtodos HTTP






GET: pede ao servidor um arquivo enviando


uma URL
Tamanho limitado para enviar dados
POST: envia dados ao servidor
Mtodo preferido para formulrios

Prof. Adilson Vahldick

Tecnologias para uso das Aplicaes




Lado-cliente:





Linguagens (JavaScript, VBScript)


Plugins (Applets, Activex)
DHTML
Cookies (persistncia do lado cliente)

Lado-servidor: (requisio-resposta)



HTML






CGI, ASP, JSP, PHP


Sesses (persistncia do lado servidor)
Prof. Adilson Vahldick

Cookies (Sesso no lado cliente)







Quantidade de informao que o servidor


armazena no cliente (dentro de um arquivo)
nome=valor (p.e. codusuario=1000)
Depende de permisso do navegador

Prof. Adilson Vahldick

Conjunto de marcadores para formatar texto;


O navegador que decide a aparncia;
Interface do usurio na WEB;
Formulrios no fazem nada;
No possvel construir aplicaes WEB
interativas usando somente HTML;

Prof. Adilson Vahldick

Sesses no lado servidor




Soluo que depende da tecnologia de cada


servidor
id da sesso trocado entre o servidor e o
cliente a cada interao

Prof. Adilson Vahldick

Aplicao Web em Java (JEE)




Componentes Web (contedo dinmico)





Aplicao Web com JEE

Servlets
Java Server Pages (JSP)

Precisa usar um servidor que suporta a


especificao JEE

Prof. Adilson Vahldick

Servlet

Prof. Adilson Vahldick

JSP
<html>
<head><title>Oi Mundo</title></head>
<body>Al Mundo</body>
</html>

Prof. Adilson Vahldick

Prof. Adilson Vahldick

Execuo de Servlet

Servlet

Mquina Servidora (192.168.200.10)


http://192.168.200.10:8080/Loja/index.jsp

Servidor de Aplicao JEE (8080)


Aplicao WEB (contexto Loja)

Cliente




Servem melhor para gerenciar a aplicao:


controle, consistncia, processo, etc.
Melhor lugar para muito cdigo
Pssimos para o design das interfaces

Servlet

Prof. Adilson Vahldick

JSP




Prof. Adilson Vahldick

JSP => Servlet

Todo JSP um Servlet


So traduzidas para servlet e compiladas
So scripts contidos em pginas HTML

<body>
<h1>Exemplo de JSP</h1>
<%for (int x = 0; x < 10; x++) {%>
<b>Repetindo</b><br/>
<%}%>
</body>

Prof. Adilson Vahldick

<body>
<h1>Exemplo de JSP</h1>
<%for (int x = 0; x < 10; x++) {%>
<b>Repetindo</b><br/>
<%}%>
</body>
exemplo.jsp

exemplo_jsp.java
....
out.write("<body>\r\n");
out.write("<h1>Exemplo de JSP</h1>\r\n");
for (int x = 0; x < 10; x++) {
out.write("\r\n");
out.write(" <b>Repetindo</b><br/>\r\n");
}
out.write("\r\n");
out.write("\r\n");
out.write("</body>");
....

Prof. Adilson Vahldick

Estrutura de Aplicao WEB


Contexto da aplicao
rea livre e desprotegida
rea protegida (somente visvel
pela aplicao)
Classes Java

Apache Tomcat

Bibliotecas
Configuraes da aplicao

Prof. Adilson Vahldick

Bibliotecas e classes para todas


as aplicaes

Prof. Adilson Vahldick

Iniciando o Tomcat


Contextos das Aplicaes

Servlets gerados a partir


de JSP

Se no existir :


Prof. Adilson Vahldick

Se existir a cone do Tomcat na bandeja de botes


do Windows, clique com boto direito e [Start service]

Iniciar> Programas> Apache


Tomcat 5.5> Configure Tomcat

http://localhost:8080

Prof. Adilson Vahldick

Configurao de Usurios




Desligar o servidor
Abrir arquivo \conf\tomcat-users.xml
Adicionar




<role rolename="manager"/>
<role rolename="admin"/>
<user username="seunome" password=""
roles="admin,manager"/>

Prof. Adilson Vahldick

Implantando uma aplicao


Existem trs maneiras de implantarmos a
aplicao:

Prof. Adilson Vahldick

Implantando uma aplicao


2. Configurar o servidor para que reconhea um
novo contexto:
Baixe do AVA tipo2.zip e descompacte em c:\temp\tipo2
http://localhost:8080/
Selecione [Tomcat Manager]
Entre com o usurio que criamos a pouco
no bloco Deploy so feitas as configuraes:

Copiar os arquivos em contextos j conhecidos

1.




Crie um arquivo teste.html (<h1>Teste</h1>)


Copie para a pasta webapp\ROOT
Acesse http://localhost:8080/teste.html










Prof. Adilson Vahldick

Context path: /tipo2


WAR or Directory URL: file:c:/temp/tipo2

Clique no boto [Deploy]


Acesse http://localhost:8080/tipo2
Prof. Adilson Vahldick

Implantando uma aplicao


3. Copiar um arquivo WAR na pasta webapps




Baixe do AVA tipo3.war


Copie tipo3.war em webapps
Acesse http://localhost:8080/tipo3

HTML

Prof. Adilson Vahldick

Estrutura de um documento HTML


<html>

Prof. Adilson Vahldick

Links
<a href=pagina1.jsp>Vai para a pgina 1</a>

<head>
<title>Um ttulo</title>
</head>
<body>
Informao apresentada no navegador
</body>

<a href="#mesmapagina">Vai aqui</a>


<br/><br/><br/><br/>.....
<a name="mesmapagina"/>Aqui

</html>
Prof. Adilson Vahldick

Prof. Adilson Vahldick

Formulrios

Formulrios

<form action= "URL" method="post\get">


.... campos do formulrio ....
</form>

<form action="pagina2.jsp" method=get">


<input type="submit" value="Manda"/>
</form>

<form action= "pagina2.jsp" method="post">

<a href=pagina2.jsp>Manda</a>

</form>
Prof. Adilson Vahldick

Botes

Prof. Adilson Vahldick

Formulrios

<form action="pagina2.jsp" method="post">


Campo:
<input type="text" name="Campo1" value="valor"/> <br/>
<input type="reset" value="Reiniciar"/>
<input type="button" value="Mostrar" onclick="alert('Beleza');"/>
<input type="submit" value="Manda"/>

</form>

Prof. Adilson Vahldick

Prof. Adilson Vahldick

Formulrios

Caixas de Verificao

Senha:
<input type="password"
name= "senhausu" />

<input type="checkbox" name="opcoes" value="op1" checked>Opo 1


<input type="checkbox" name="opcoes" value="op2">Opo 2
<input type="checkbox" name="opcoes" value="op3">Opo 3

Campo oculto:
<input type="hidden" name="codigo" value="1"/>

Texto com mais de uma linha:


<textarea cols="10" rows="5"
name="observacao">texto</textarea>
Prof. Adilson Vahldick

Boto de Radio

Prof. Adilson Vahldick

Seleo

Uma seleo aceita num grupo:


Sexo:
<input type="radio" name="sexo" value="m" checked= "checked"/>Masculino
<input type="radio" name="sexo" value="f"/>Feminino
<br/>
Renda:
<input type="radio" name="renda" value="_1000" checked="checked"/>Abaixo de R$1000
<input type="radio" name="renda" value="1000_5000"/>Entre R$1000 e R$5000
<input type="radio" name="renda" value="5000_"/>Acima de R$5000

Prof. Adilson Vahldick

<select name="diaSemana">
<option value="dom">Domingo</option>
<option value="sex" selected>Sexta</option>
<option value="sab">Sbado</option>
</select>
<select name="diaSemana" size = 3 multiple>
<option value="dom">Domingo</option>
<option value="sex" selected>Sexta</option>
<option value="sab">Sbado</option>
</select>
Prof. Adilson Vahldick

Tabelas
<table border=1>
<tr>
<td> cel1 </td><td> cel2 </td>
</tr>
<tr>
<td colspan=2>super clula</td>
</tr>
</table>

Prof. Adilson Vahldick

10