instrodução ao servlet.pdf
Post on 20-Oct-2015
31 Views
Preview:
TRANSCRIPT
Programação para WEB
Prof. Edson F. da Fonseca
UNIVERSIDADE CATÓLICA DE BRASÍLIA
CatólicaTec – Cursos Tecnológicos
SERVLET Introdução
(Versão 2012/2)
Prof. Edson F. da Fonseca MBA, MsC, PMP, Cobit
Programação para WEB
Prof. Edson F. da Fonseca
UNIVERSIDADE CATÓLICA DE BRASÍLIA
CatólicaTec – Cursos Tecnológicos
História 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)
JAVA
Hoje é uma das linguagens programação mais populares do mundo
Mais de 6,5 milhões de desenvolvedores de software
Mais de 4,5 bilhões de dispositivos (computador, celular, cartão
inteligente, impressora, câmera, GPS, dispositivos médicos,
guichês de pagamento de estacionamento, etc.
Duke baseado no emblema da federação da série de TV Star Trek
Programação para WEB
Prof. Edson F. da Fonseca
UNIVERSIDADE CATÓLICA DE BRASÍLIA
CatólicaTec – Cursos Tecnológicos
Ambientes de desenvolvimento
JSE – Java Standard Edition: Ambiente de
desenvolvimento mais utilizado, sendo utilizado em
Servidores e PC´s
JEE – Java Enterprise Edition: Voltada para redes,
internet e intranets
JME – Java Micro Edition: Ambiente para
desenvolvimento de aplicações para dispositivos móveis
como PDA´s (Personal Digital Assistants) e celulares
JAVA
Programação para WEB
Prof. Edson F. da Fonseca
UNIVERSIDADE CATÓLICA DE BRASÍLIA
CatólicaTec – Cursos Tecnológicos
Setas indicam chamadas que um componente faz ao outro (utiliza outro)
PLATAFORMA JEE
Programação para WEB
Prof. Edson F. da Fonseca
UNIVERSIDADE CATÓLICA DE BRASÍLIA
CatólicaTec – Cursos Tecnológicos
Application Cliente: São programas java que rodam diretamente na máquina do
usuário. Podem ser desenvolvidos com SWING, AWT ou outra tecnologia desktop.
Esses programas tem por característica proporcionar uma “user experience”
semelhante a dos programas nativos da plataforma utilizada pelo usuário, mas com
acesso a todas as facilidades da camada intermediária do JEE
Applet: Applets são pequenos aplicativos java que rodam, normalmente, dentro do
navegador (existem outras aplicações que também dão 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 requisições HTTP fazendo chamada aos “web components”
EJB: Enterprise Java Beans são executados em um ambiente controlado e
normalmente concentram a “lógica de negocio”. Fornecem acesso a suas
funcionalidades através de WebService (SOA ou HTTP requests). Fornecem serviços
e são auto-contidos (funciona independente de outros EJBs)
PLATAFORMA JEE
Programação para WEB
Prof. Edson F. da Fonseca
UNIVERSIDADE CATÓLICA DE BRASÍLIA
CatólicaTec – Cursos Tecnológicos
API SERVLET
Composta por dois pacotes
javax.servlet
Contém classes e interfaces para
programação de servlets
genéricos independentes de
protocolo
Javax.servlet.http
Estende o pacote javax.servlet
para adicionar funcionalidades
específicas do protocolo HTTP
Programação para WEB
Prof. Edson F. da Fonseca
UNIVERSIDADE CATÓLICA DE BRASÍLIA
CatólicaTec – Cursos Tecnológicos
INIT: Executado
somente uma vez,
quando é instanciado
pelo container web na
primeira requisição
Métodos de serviço:
Executados em todas
as requisições
DESTROY: Executado
somente uma vez,
quando é retirado da
memória
Servlet não possui método main(), o servlet genérico possui o
método service() e o servlet http os métodos correspondentes
às requisições http (doGet, doPost)
CICLO DE VIDA DO SERVLET
Programação para WEB
Prof. Edson F. da Fonseca
UNIVERSIDADE CATÓLICA DE BRASÍLIA
CatólicaTec – Cursos Tecnológicos
Objetos são usados receber e retornar as informações
CICLO DE VIDA DO SERVLET
HttpServletRequest: Encapsula a mensagem HTTP de requisição
HttpServletResponse: Encapsula a mensagem HTTP de resposta
INTERNET
CLIENTE SERVIDOR
Programação para WEB
Prof. Edson F. da Fonseca
UNIVERSIDADE CATÓLICA DE BRASÍLIA
CatólicaTec – Cursos Tecnológicos
Passo a passo da criação:
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 botão “Next”
PRIMEIRO SERVLET
Programação para WEB
Prof. Edson F. da Fonseca
UNIVERSIDADE CATÓLICA DE BRASÍLIA
CatólicaTec – Cursos Tecnológicos
2.4. Selecione o nome da sua classe na caixa “URL Mappings”
2.5. Clique no botão “Edit”
2.6. Defina o nome como será publicado na caixa “Pattern”
2.7. Clique no botão “OK”
2.8. Clique no botão “Finish”
PRIMEIRO SERVLET
Programação para WEB
Prof. Edson F. da Fonseca
UNIVERSIDADE CATÓLICA DE BRASÍLIA
CatólicaTec – Cursos Tecnológicos
INTERNET
FLUXO NA WEB – PÁGINA HTML
pagina.html
REQUISIÇÃO
CLIENTE SERVIDOR
http://servidor
<HTML>
<HEAD>
<TITLE>...</TITLE>
</HEAD>
<BODY>
Hello world!
</BODY>
</HTML>
Programação para WEB
Prof. Edson F. da Fonseca
UNIVERSIDADE CATÓLICA DE BRASÍLIA
CatólicaTec – Cursos Tecnológicos
INTERNET
FLUXO NA WEB – SERVLET
pagina.html
CLIENTE SERVIDOR
http://servidor
<HTML>
<HEAD>
<TITLE>...</TITLE>
</HEAD>
<BODY>
Hello world!
</BODY>
</HTML>
Programação para WEB
Prof. Edson F. da Fonseca
UNIVERSIDADE CATÓLICA DE BRASÍLIA
CatólicaTec – Cursos Tecnológicos
PRIMEIRO SERVLET
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>");
out.println("</HTML>");
}
public void doPost... {}
}
3. Escreva o código de sua servelt
writer : PrintWriter
Programação para WEB
Prof. Edson F. da Fonseca
UNIVERSIDADE CATÓLICA DE BRASÍLIA
CatólicaTec – Cursos Tecnológicos
Observe a classe Hello em “Java Resources:
src”, dentro de um pacote padrão, caso você
não tenha definido um pacote específico
Observe o conteúdo do arquivo web.xml
SERVLET VERSÃO 2.0
<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>
Programação para WEB
Prof. Edson F. da Fonseca
UNIVERSIDADE CATÓLICA DE BRASÍLIA
CatólicaTec – Cursos Tecnológicos
A Servlet 3.0 usa anotações (annotation) para substituir XML na
configuração das servlets
@WebServlet indica que a classe é uma servlet. Seu parâmetro value define
a URL de mapeamento
SERVLET VERSÃO 3.0
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>");
}
}
Programação para WEB
Prof. Edson F. da Fonseca
UNIVERSIDADE CATÓLICA DE BRASÍLIA
CatólicaTec – Cursos Tecnológicos
CONFIRMAR O CICLO DE VIDA DO SERVLET
Programação para WEB
Prof. Edson F. da Fonseca
UNIVERSIDADE CATÓLICA DE BRASÍLIA
CatólicaTec – Cursos Tecnológicos
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>");
}
}
Programação para WEB
Prof. Edson F. da Fonseca
UNIVERSIDADE CATÓLICA DE BRASÍLIA
CatólicaTec – Cursos Tecnológicos
MÉTODOS DO HTTPSERVLETREQUEST
:
out.println("getContextPath - "+ request.getContextPath() +"<br>");
out.println("getLocalAddr - "+ request.getLocalAddr() +"<br>");
out.println("getLocalName - "+ request.getLocalName() +"<br>");
out.println("getLocalPort - "+ request.getLocalPort() +"<br>");
out.println("getMethod - "+ request.getMethod() +"<br>");
out.println("getProtocol - "+ request.getProtocol() +"<br>");
out.println("getRemoteAddr - "+ request.getRemoteAddr() +"<br>");
out.println("getRemoteHost - "+ request.getRemoteHost() +"<br>");
out.println("getRequestURI - "+ request.getRequestURI() +"<br>");
out.println("getScheme - "+ request.getScheme() +"<br>");
out.println("getServerName - "+ request.getServerName() +"<br>");
out.println("getServerPort - "+ request.getServerPort() +"<br>");
out.println("getServletPath - "+ request.getServletPath() +"<br>");
out.println("getHeader(UA) - "+ request.getHeader("User-Agent"));
:
Programação para WEB
Prof. Edson F. da Fonseca
UNIVERSIDADE CATÓLICA DE BRASÍLIA
CatólicaTec – Cursos Tecnológicos
SERVLET
Perguntas?
Programação para WEB
Prof. Edson F. da Fonseca
UNIVERSIDADE CATÓLICA DE BRASÍLIA
CatólicaTec – Cursos Tecnológicos
GONÇALVES, Edson. Desenvolvendo Aplicações Web com JSP, Servlets, JSF,
Hibernate, EJB 3, Persistence e Ajax. Rio de Janeiro: Ciência Moderna, 2007.
www.java.com/pt_BR/about/
Servlets/JSP, Prof. Msc. Edson Angoti Júnior
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/
REFERÊNCIAS BIBLIOGRAFICAS
Programação para WEB
Prof. Edson F. da Fonseca
UNIVERSIDADE CATÓLICA DE BRASÍLIA
CatólicaTec – Cursos Tecnológicos
Obrigado!
Prof. Edson F. da Fonseca
edsonf@ucb.br
Programação para WEB
Prof. Edson F. da Fonseca
UNIVERSIDADE CATÓLICA DE BRASÍLIA
CatólicaTec – Cursos Tecnológicos
Exercício
SERVLET – INTRODUÇÃO
Programação para WEB
Prof. Edson F. da Fonseca
UNIVERSIDADE CATÓLICA DE BRASÍLIA
CatólicaTec – Cursos Tecnológicos
Escreva uma aplicação WEB utilizando servlet que produza uma
página HTML contendo no corpo da página uma espécie de título
centralizado “Olimpíadas de Londres 2012”. Abaixo do título, ainda
centralizado, deve haver uma imagem dos círculos entrelaçados.
Abaixo da imagem, sem centralizar, deve haver um formulário que
permita o preenchimento dos seguintes dados: nome do atleta;
esporte; país; medalha (permitir apenas um valor dentre: ouro, prata
ou bronze). Seu formulário deve possuir um botão de envio com o
rótulo “ENVIAR”.
O botão é apenas decorativo, ainda não precisa enviar os dados.
Capriche no layout. Faça o mais profissional que conseguir!
SERVLET – INTRODUÇÃO – EXERCÍCIO
top related