Está en la página 1de 23

SERVLET

Introduo
(Verso 2012/2)

Prof. Edson F. da Fonseca


MBA, MsC, PMP, Cobit

UNIVERSIDADE CATLICA DE BRASLIA CatlicaTec Cursos Tecnolgicos

Programao para WEB Prof. Edson F. da Fonseca

JAVA
Histria do Java Projeto Green iniciou em 1991 com Patrick Naughton, Mike Sheridan e James Gosling

Primeiro produto *7 (StarSeven)


Primeiro nome da linguagem OAK (carvalho) Hoje uma das linguagens programao mais populares do mundo Mais de 6,5 milhes de desenvolvedores de software

Mais de 4,5 bilhes de dispositivos (computador, celular, carto inteligente, impressora, cmera, GPS, dispositivos mdicos, guichs de pagamento de estacionamento, etc.
Duke baseado no emblema da federao da srie de TV Star Trek
UNIVERSIDADE CATLICA DE BRASLIA CatlicaTec Cursos Tecnolgicos Programao para WEB Prof. Edson F. da Fonseca

JAVA Ambientes de desenvolvimento


JSE Java Standard Edition: Ambiente de desenvolvimento mais utilizado, sendo utilizado em Servidores e PCs JEE Java Enterprise Edition: Voltada para redes, internet e intranets JME Java Micro Edition: Ambiente para desenvolvimento de aplicaes para dispositivos mveis como PDAs (Personal Digital Assistants) e celulares

UNIVERSIDADE CATLICA DE BRASLIA CatlicaTec Cursos Tecnolgicos

Programao para WEB Prof. Edson F. da Fonseca

PLATAFORMA JEE

Setas indicam chamadas que um componente faz ao outro (utiliza outro)


UNIVERSIDADE CATLICA DE BRASLIA CatlicaTec Cursos Tecnolgicos Programao para WEB Prof. Edson F. da Fonseca

PLATAFORMA JEE
Application Cliente: So programas java que rodam diretamente na mquina do usurio. Podem ser desenvolvidos com SWING, AWT ou outra tecnologia desktop. Esses programas tem por caracterstica proporcionar uma user experience semelhante a dos programas nativos da plataforma utilizada pelo usurio, mas com acesso a todas as facilidades da camada intermediria do JEE Applet: Applets so pequenos aplicativos java que rodam, normalmente, dentro do navegador (existem outras aplicaes que tambm do suporte a applets) Web (Web Server): Servidor que fornece suporte s tecnologias JSP e Servlets, e que utiliza conceitos como filters e event listeners para criar os web components. Capaz de tratar requisies HTTP fazendo chamada aos web components

EJB: Enterprise Java Beans so executados em um ambiente controlado e normalmente concentram a lgica de negocio. Fornecem acesso a suas funcionalidades atravs de WebService (SOA ou HTTP requests). Fornecem servios e so auto-contidos (funciona independente de outros EJBs)

UNIVERSIDADE CATLICA DE BRASLIA CatlicaTec Cursos Tecnolgicos

Programao para WEB Prof. Edson F. da Fonseca

API SERVLET
Composta por dois pacotes javax.servlet Contm classes e interfaces para programao de servlets genricos independentes de protocolo Javax.servlet.http Estende o pacote javax.servlet para adicionar funcionalidades especficas do protocolo HTTP

UNIVERSIDADE CATLICA DE BRASLIA CatlicaTec Cursos Tecnolgicos

Programao para WEB Prof. Edson F. da Fonseca

CICLO DE VIDA DO SERVLET


INIT: Executado somente uma vez, quando instanciado pelo container web na primeira requisio Mtodos de servio: Executados em todas as requisies DESTROY: Executado somente uma vez, quando retirado da memria

Servlet no possui mtodo main(), o servlet genrico possui o UNIVERSIDADE CATLICA DE BRASLIA mtodo service() e o servlet http os mtodos correspondentes CatlicaTec Cursos Tecnolgicos s requisies http (doGet, doPost)

Programao para WEB Prof. Edson F. da Fonseca

CICLO DE VIDA DO SERVLET


Objetos so usados receber e retornar as informaes
SERVIDOR CLIENTE

INTERNET

HttpServletRequest: Encapsula a mensagem HTTP de requisio HttpServletResponse: Encapsula a mensagem HTTP de resposta

UNIVERSIDADE CATLICA DE BRASLIA CatlicaTec Cursos Tecnolgicos

Programao para WEB Prof. Edson F. da Fonseca

PRIMEIRO SERVLET
Passo a passo da criao: 1. Crie um novo projeto no Eclipse do tipo Dynamic Web Project (como j feito anteriormente)

2. Crie um novo servelet


2.1. Menu File >> New >> Servlet 2.2. Informe em Class Name o nome da classe

2.3. Clique no boto Next

UNIVERSIDADE CATLICA DE BRASLIA CatlicaTec Cursos Tecnolgicos

Programao para WEB Prof. Edson F. da Fonseca

PRIMEIRO SERVLET
2.4. Selecione o nome da sua classe na caixa URL Mappings 2.5. Clique no boto Edit 2.6. Defina o nome como ser publicado na caixa Pattern

2.7. Clique no boto OK


2.8. Clique no boto Finish

UNIVERSIDADE CATLICA DE BRASLIA CatlicaTec Cursos Tecnolgicos

Programao para WEB Prof. Edson F. da Fonseca

FLUXO NA WEB PGINA HTML


CLIENTE SERVIDOR

REQUISIO
pagina.html

INTERNET
http://servidor
<HTML> <HEAD> <TITLE>...</TITLE> </HEAD> <BODY> Hello world! </BODY> </HTML>

UNIVERSIDADE CATLICA DE BRASLIA CatlicaTec Cursos Tecnolgicos

Programao para WEB Prof. Edson F. da Fonseca

FLUXO NA WEB SERVLET


CLIENTE SERVIDOR

pagina.html

http://servidor

INTERNET
<HTML> <HEAD> <TITLE>...</TITLE> </HEAD> <BODY> Hello world! </BODY> </HTML>

UNIVERSIDADE CATLICA DE BRASLIA CatlicaTec Cursos Tecnolgicos

Programao para WEB

Prof. Edson F. da Fonseca

PRIMEIRO SERVLET
3. Escreva o cdigo de sua servelt
import... public class Hello extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletRespons... { response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println("<HTML>"); out.println("<HEAD><TITLE>Primeira pagina</TITLE></HEAD>"); out.println("<BODY>"); out.println("<CENTER>Hello world!</CENTER>"); out.println("</BODY>"); writer : PrintWriter out.println("</HTML>"); } public void doPost... {}
}

UNIVERSIDADE CATLICA DE BRASLIA CatlicaTec Cursos Tecnolgicos

Programao para WEB Prof. Edson F. da Fonseca

SERVLET VERSO 2.0


Observe a classe Hello em Java Resources: src, dentro de um pacote padro, caso voc no tenha definido um pacote especfico Observe o contedo do arquivo web.xml
<servlet> <description></description> <display-name>Hello</display-name> <servlet-name>Hello</servlet-name> <servlet-class>Hello</servlet-class> </servlet> <servlet-mapping> <servlet-name>Hello</servlet-name> <url-pattern>/nomePublico</url-pattern> </servlet-mapping>

UNIVERSIDADE CATLICA DE BRASLIA CatlicaTec Cursos Tecnolgicos

Programao para WEB Prof. Edson F. da Fonseca

SERVLET VERSO 3.0


A Servlet 3.0 usa anotaes (annotation) para substituir XML na configurao das servlets @WebServlet indica que a classe uma servlet. Seu parmetro value define a URL de mapeamento
import...
@WebServlet("/nomePublico") public class Hello extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletRespons... { response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println("<HTML>"); out.println("<HEAD><TITLE>Primeira pagina</TITLE></HEAD>"); out.println("<BODY>"); out.println("<CENTER>Hello world!</CENTER>"); out.println("</BODY>"); out.println("</HTML>"); }
UNIVERSIDADE CATLICA DE BRASLIA Programao para WEB Prof. Edson F. da Fonseca

CatlicaTec Cursos Tecnolgicos

CONFIRMAR O CICLO DE VIDA DO SERVLET

UNIVERSIDADE CATLICA DE BRASLIA CatlicaTec Cursos Tecnolgicos

Programao para WEB Prof. Edson F. da Fonseca

CONTADOR DE ACESSO
import... public class Contador extends HttpServlet { private int cont;
public void doGet(Http...) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); this.cont++; out.println("<HTML>"); out.println("<HEAD><TITLE>Acessos</TITLE></HEAD>"); out.println("<BODY>"); out.println("Acessos: "+ this.cont); out.println("</BODY>"); out.println("</HTML>"); } }

UNIVERSIDADE CATLICA DE BRASLIA CatlicaTec Cursos Tecnolgicos

Programao para WEB Prof. Edson F. da Fonseca

MTODOS DO HTTPSERVLETREQUEST
: out.println("getContextPath out.println("getLocalAddr out.println("getLocalName out.println("getLocalPort out.println("getMethod out.println("getProtocol out.println("getRemoteAddr out.println("getRemoteHost out.println("getRequestURI out.println("getScheme out.println("getServerName out.println("getServerPort out.println("getServletPath out.println("getHeader(UA) :

"+ "+ "+ "+ "+ "+ "+ "+ "+ "+ "+ "+ "+ "+

request.getContextPath() +"<br>"); request.getLocalAddr() +"<br>"); request.getLocalName() +"<br>"); request.getLocalPort() +"<br>"); request.getMethod() +"<br>"); request.getProtocol() +"<br>"); request.getRemoteAddr() +"<br>"); request.getRemoteHost() +"<br>"); request.getRequestURI() +"<br>"); request.getScheme() +"<br>"); request.getServerName() +"<br>"); request.getServerPort() +"<br>"); request.getServletPath() +"<br>"); request.getHeader("User-Agent"));

UNIVERSIDADE CATLICA DE BRASLIA CatlicaTec Cursos Tecnolgicos

Programao para WEB Prof. Edson F. da Fonseca

SERVLET

Perguntas?
UNIVERSIDADE CATLICA DE BRASLIA CatlicaTec Cursos Tecnolgicos Programao para WEB Prof. Edson F. da Fonseca

REFERNCIAS BIBLIOGRAFICAS
GONALVES, Edson. Desenvolvendo Aplicaes Web com JSP, Servlets, JSF, Hibernate, EJB 3, Persistence e Ajax. Rio de Janeiro: Cincia Moderna, 2007. www.java.com/pt_BR/about/ Servlets/JSP, Prof. Msc. Edson Angoti Jnior Criando e Entendendo o Primeiro Servlet, Raphaela Galhardo Fernandes http://www.j2eebrasil.com.br/index http://blog.caelum.com.br/java-ee6-comecando-com-as-servlets-3-0/

UNIVERSIDADE CATLICA DE BRASLIA CatlicaTec Cursos Tecnolgicos

Programao para WEB Prof. Edson F. da Fonseca

Obrigado!

Prof. Edson F. da Fonseca edsonf@ucb.br

UNIVERSIDADE CATLICA DE BRASLIA CatlicaTec Cursos Tecnolgicos

Programao para WEB Prof. Edson F. da Fonseca

SERVLET INTRODUO

Exerccio

UNIVERSIDADE CATLICA DE BRASLIA CatlicaTec Cursos Tecnolgicos

Programao para WEB Prof. Edson F. da Fonseca

SERVLET INTRODUO EXERCCIO


Escreva uma aplicao WEB utilizando servlet que produza uma pgina HTML contendo no corpo da pgina uma espcie de ttulo centralizado Olimpadas de Londres 2012. Abaixo do ttulo, ainda centralizado, deve haver uma imagem dos crculos entrelaados. Abaixo da imagem, sem centralizar, deve haver um formulrio que permita o preenchimento dos seguintes dados: nome do atleta; esporte; pas; medalha (permitir apenas um valor dentre: ouro, prata ou bronze). Seu formulrio deve possuir um boto de envio com o rtulo ENVIAR. O boto apenas decorativo, ainda no precisa enviar os dados. Capriche no layout. Faa o mais profissional que conseguir!

UNIVERSIDADE CATLICA DE BRASLIA CatlicaTec Cursos Tecnolgicos

Programao para WEB Prof. Edson F. da Fonseca

También podría gustarte