SlideShare uma empresa Scribd logo
1 de 36
Baixar para ler offline
Introdu¸c˜ao
Servlet Container
HTML
Servlet
JSP (JavaServer Pages)
Modelo mvc
Cookies e Sess˜oes
Introdu¸c˜ao ao desenvolvimento Web com Java
Fellipe Fonseca
Universidade Estadual de Feira de Santana
28 de Agosto de 2013
Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
Introdu¸c˜ao
Servlet Container
HTML
Servlet
JSP (JavaServer Pages)
Modelo mvc
Cookies e Sess˜oes
Introdu¸c˜ao
Servlet Container
Hyper Text Markup Language (HTML)
Servlet
JSP (JavaServer Pages)
Modelo Mvc
Cookies e Sess˜oes
Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
Introdu¸c˜ao
Servlet Container
HTML
Servlet
JSP (JavaServer Pages)
Modelo mvc
Cookies e Sess˜oes
Comunica¸c˜ao Cliente-Servidor
Introdu¸c˜ao
Algumas vantagens
Portabilidade
Facilidade de Programa¸c˜ao
Flexibilidade
Escalabilidade
Eficiˆencia
Recompila¸c˜ao Autom´atica
Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
Introdu¸c˜ao
Servlet Container
HTML
Servlet
JSP (JavaServer Pages)
Modelo mvc
Cookies e Sess˜oes
Comunica¸c˜ao Cliente-Servidor
Comunica¸c˜ao Cliente-Servidor
Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
Introdu¸c˜ao
Servlet Container
HTML
Servlet
JSP (JavaServer Pages)
Modelo mvc
Cookies e Sess˜oes
Apache Tomcat
Integrando o Tomcat no Netbeans
Servlet Container
´E um servidor que interage com as ferramentas Java.
Exemplo: Jetty, Apache Tomcat
Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
Introdu¸c˜ao
Servlet Container
HTML
Servlet
JSP (JavaServer Pages)
Modelo mvc
Cookies e Sess˜oes
Apache Tomcat
Integrando o Tomcat no Netbeans
Apache Tomcat
Download no site: http://tomcat.apache.org
Executando o tomcat:
$ cd tomcat-7/bin
$ ./startup.sh
acesse http://localhost:8080
Finalizando o tomcat:
$ cd tomcat-7/bin
$ ./shutdown.sh
Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
Introdu¸c˜ao
Servlet Container
HTML
Servlet
JSP (JavaServer Pages)
Modelo mvc
Cookies e Sess˜oes
Apache Tomcat
Integrando o Tomcat no Netbeans
Integrando o Tomcat no Netbeans
1 V´a na aba Servi¸cos
2 Clique com o bot˜ao direito em Servidores e clique em
adicionar servidor
3 Selecione o Apache Tomcat
4 Em localiza¸c˜ao do servidor e em Base do catalina, selecione o
diret´orio do tomcat
5 Coloque o nome de usu´ario e senha e clique em finalizar
Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
Introdu¸c˜ao
Servlet Container
HTML
Servlet
JSP (JavaServer Pages)
Modelo mvc
Cookies e Sess˜oes
index.html
Hyper Text Markup Language (HTML)
<html>
<head>
<title>T´ıtulo da p´agina</title>
</head>
<body>
Texto aqui !!
</body>
</html>
Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
Introdu¸c˜ao
Servlet Container
HTML
Servlet
JSP (JavaServer Pages)
Modelo mvc
Cookies e Sess˜oes
index.html
index.html
<html>
<head>
<title>Siecomp</title>
<meta http-equiv=”Content-Type”
content=”text/html;charset=ISO-8859-1”>
</head>
<body>
<form>
Login: <input type=”text” name=”login”/> <br>
Senha: <input type=”password” name=”senha”> <br>
<input type=”submit” value=”entrar”/>
</form>
</body> Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
Introdu¸c˜ao
Servlet Container
HTML
Servlet
JSP (JavaServer Pages)
Modelo mvc
Cookies e Sess˜oes
LoginServlet
HttpServletRequest
HttpServletRequest
ServletContext
Passando parˆametros para o Servlet
Servlet
Interface Servlet
void init(ServletConfig config)
Chamado pelo container, indica que o Servlet est´a ativo
public ServletConfig getServletConfig()
Retorna um ServletConfig com parˆametros do Servlet
public void service(ServletRequest req, ServletResponse res)
Chamado pelo container, permite ao Servlet responder
requisi¸c˜oes
public String getServletInfo()
Retorna informa¸c˜oes sobre o Serlvet
public void destroy()
Chamado pelo Container para indicar que o servi¸co “caiu”
Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
Introdu¸c˜ao
Servlet Container
HTML
Servlet
JSP (JavaServer Pages)
Modelo mvc
Cookies e Sess˜oes
LoginServlet
HttpServletRequest
HttpServletRequest
ServletContext
Passando parˆametros para o Servlet
LoginServlet
public class LoginServlet extends HttpServlet {
@Override
public void init(ServletConfig config) throws ServletException{
}
@Override public void doGet(HttpServletRequest req,
HttpServletResponse res) throws ServletException, IOException {
ServletOutputStream out = res.getOutputStream();
res.setContentType(”text/html”);
String page;
page = “<html> <head> <title> RespostaServlet </title> ”
+ “</head> <body> Oi ” + req.getParameter(”login”) +
“ :) </body> </html>”;
out.println(page); Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
Introdu¸c˜ao
Servlet Container
HTML
Servlet
JSP (JavaServer Pages)
Modelo mvc
Cookies e Sess˜oes
LoginServlet
HttpServletRequest
HttpServletRequest
ServletContext
Passando parˆametros para o Servlet
HttpServletRequest
M´etodos que acessam parˆametros
String getParameter(String nome)
Enumeration getParametersNames()
String[ ] getParameterValues(String nome)
Exemplo de uma String de dados:
param1=Fellipe&param2=20
Os valores s˜ao lidos decodificados!
Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
Introdu¸c˜ao
Servlet Container
HTML
Servlet
JSP (JavaServer Pages)
Modelo mvc
Cookies e Sess˜oes
LoginServlet
HttpServletRequest
HttpServletRequest
ServletContext
Passando parˆametros para o Servlet
HttpServletRequest
setStatus(int codigo)
Define o status da resposta
setHeader(String campo, String valor)
Define o valor de um campo do cabe¸calho resposta
addHeader(String campo, String valor)
Adiciona uma tupla (campo, valor) ao cabe¸calho da resposta
sendRedirect(String URL)
Redireciona a resposta para outra URL
Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
Introdu¸c˜ao
Servlet Container
HTML
Servlet
JSP (JavaServer Pages)
Modelo mvc
Cookies e Sess˜oes
LoginServlet
HttpServletRequest
HttpServletRequest
ServletContext
Passando parˆametros para o Servlet
ServletContext
Al´em dos parˆametros de inicializa¸c˜ao do contexto do Servlet,
podemos usar esse objeto para atribuir e recuperar atributos que
ser˜ao compartilhados por todos os Servlets do contexto.
java.lang.Object getAttribute(String nomeDoAtributo);
java.util.Enumeration getAttributeNames();
void removeAttribute(String nomeDoAtributo);
void setAttribute(String nomeDoAtributo, String valor do
Atributo);
Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
Introdu¸c˜ao
Servlet Container
HTML
Servlet
JSP (JavaServer Pages)
Modelo mvc
Cookies e Sess˜oes
LoginServlet
HttpServletRequest
HttpServletRequest
ServletContext
Passando parˆametros para o Servlet
Passando parˆametros para o Servlet
/Siecomp/web/WEB-INF/web.xml
<servlet>
<servlet-name>LoginServlet</servlet-name>
<servlet-class>servlets.LoginServlet</servlet-class>
<init-param>
<param-name>mensagem</param-name>
<param-value¿Bem vindo</param-value>
</init-param>
</servlet>
Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
Introdu¸c˜ao
Servlet Container
HTML
Servlet
JSP (JavaServer Pages)
Modelo mvc
Cookies e Sess˜oes
LoginServlet
HttpServletRequest
HttpServletRequest
ServletContext
Passando parˆametros para o Servlet
Passando parˆametros para o Servlet
@Override
public void init(ServletConfig config) throws ServletException{
//Recuperando parˆametro
String parametro1 = config.getInitParameter(”mensagem”);
//Retornando contexto
ServletContext sc = config.getServletContext();
//Adicionando atributo ao contexto.
sc.setAttribute(”msg”, parametro1);
}
Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
Introdu¸c˜ao
Servlet Container
HTML
Servlet
JSP (JavaServer Pages)
Modelo mvc
Cookies e Sess˜oes
LoginServlet
HttpServletRequest
HttpServletRequest
ServletContext
Passando parˆametros para o Servlet
Passando parˆametros para o Servlet
@Override
public void doPost(HttpServletRequest req, HttpServletResponse
res) throws ServletException, IOException{
ServletOutputStream out = res.getOutputStream();
res.setContentType(”text/html”);
ServletContext sc = req.getServletContext();
String mensagem = sc.getAttribute(”msg”).toString();
Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
Introdu¸c˜ao
Servlet Container
HTML
Servlet
JSP (JavaServer Pages)
Modelo mvc
Cookies e Sess˜oes
LoginServlet
HttpServletRequest
HttpServletRequest
ServletContext
Passando parˆametros para o Servlet
Passando parˆametros para o Servlet
String page;
page = ”<html> <head> <title>RespostaServlet</title>
</head>”
+ ”<body>” + mensagem + ” ” +
req.getParameter(”login”) + ” :) </body>”
+ ”</html>”;
out.println(page);
}
Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
Introdu¸c˜ao
Servlet Container
HTML
Servlet
JSP (JavaServer Pages)
Modelo mvc
Cookies e Sess˜oes
LoginServlet
HttpServletRequest
HttpServletRequest
ServletContext
Passando parˆametros para o Servlet
Formata¸c˜ao da p´agina
Imagine um Servlet para gerar o seguinte HTML...
Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
Introdu¸c˜ao
Servlet Container
HTML
Servlet
JSP (JavaServer Pages)
Modelo mvc
Cookies e Sess˜oes
LoginServlet
HttpServletRequest
HttpServletRequest
ServletContext
Passando parˆametros para o Servlet
Formata¸c˜ao da p´agina
Ficaria assim:
Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
Introdu¸c˜ao
Servlet Container
HTML
Servlet
JSP (JavaServer Pages)
Modelo mvc
Cookies e Sess˜oes
JavaServer Pages
JSP (JavaServer Pages)
<% @page contentType=”text/html”
pageEncoding=”ISO-8859-1”% >
<!DOCTYPE html>
<html>
<head>
<meta http-equiv=”Content-Type”
content=”text/html;charset=ISO-8859-1”>
<title>JSP Page</title >
</head>
<body>
Ol´a <%=request.getParameter(”login”) %>
</body>
</html> Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
Introdu¸c˜ao
Servlet Container
HTML
Servlet
JSP (JavaServer Pages)
Modelo mvc
Cookies e Sess˜oes
JavaServer Pages
JSP (JavaServer Pages)
<body>
Ol´a
<%if(request.getParameter(”sexo”).equals(”masculino”)){
out.print(”senhor”);
}else{
out.print(”senhora”);
} %>
<%=request.getParameter(”login”)%> <br>
A data corrente ´e ”<%=new Date()%>”<br>
</body>
Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
Introdu¸c˜ao
Servlet Container
HTML
Servlet
JSP (JavaServer Pages)
Modelo mvc
Cookies e Sess˜oes
Repassando a requisi¸c˜ao
Apresentando a mensagem
Modelo mvc
O Servlet fica com a l´ogica de neg´ocio e o Jsp com a l´ogica de
apresenta¸c˜ao
Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
Introdu¸c˜ao
Servlet Container
HTML
Servlet
JSP (JavaServer Pages)
Modelo mvc
Cookies e Sess˜oes
Repassando a requisi¸c˜ao
Apresentando a mensagem
Repassando a requisi¸c˜ao
public void doPost(HttpServletRequest req, HttpServletResponse
res) throws ServletException, IOException{
String login = req.getParameter(”login”);
String sexo = req.getParameter(”sexo”);
String tratamento;
Date data = new Date();
if(sexo.equals(”masculino”)){
tratamento = ”senhor”;
}else{
tratamento = ”senhora”;
}
Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
Introdu¸c˜ao
Servlet Container
HTML
Servlet
JSP (JavaServer Pages)
Modelo mvc
Cookies e Sess˜oes
Repassando a requisi¸c˜ao
Apresentando a mensagem
Repassando a requisi¸c˜ao
req.setAttribute(”login”, login);
req.setAttribute(”tratamento”, tratamento);
req.setAttribute(”data”, data);
req.getRequestDispatcher(”/mensagem.jsp”).forward(req, res);
}
Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
Introdu¸c˜ao
Servlet Container
HTML
Servlet
JSP (JavaServer Pages)
Modelo mvc
Cookies e Sess˜oes
Repassando a requisi¸c˜ao
Apresentando a mensagem
Apresentando a mensagem
<body>
Ol´a ${tratamento} ${login} <br>
A data corrente ´e ”${data}”
</body>
Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
Introdu¸c˜ao
Servlet Container
HTML
Servlet
JSP (JavaServer Pages)
Modelo mvc
Cookies e Sess˜oes
Definindo um cokie
Atributos do cookie
An´alise
Sess˜oes
Exemplo: Sistema de Login
Exemplo: Sistema de Login
P´agina do administrador
P´agina do usu´ario comum
P´agina de login
Cookies e Sess˜oes: Armazenando informa¸c˜oes do usu´ario
Exemplo: carrinho de compras
Como manter um hist´orico das compras efetuadas pelo cliente?
Exemplo: login
Como saber se o usu´ario j´a logou na aplica¸c˜ao?
Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
Introdu¸c˜ao
Servlet Container
HTML
Servlet
JSP (JavaServer Pages)
Modelo mvc
Cookies e Sess˜oes
Definindo um cokie
Atributos do cookie
An´alise
Sess˜oes
Exemplo: Sistema de Login
Exemplo: Sistema de Login
P´agina do administrador
P´agina do usu´ario comum
P´agina de login
Definindo um cokie
Cookie c = new Cookie(“Contador”,“0”);
c.setComment(“Cookie de exemplo / teste”);
c.setMaxAge(60);
response.addCookie(c);
Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
Introdu¸c˜ao
Servlet Container
HTML
Servlet
JSP (JavaServer Pages)
Modelo mvc
Cookies e Sess˜oes
Definindo um cokie
Atributos do cookie
An´alise
Sess˜oes
Exemplo: Sistema de Login
Exemplo: Sistema de Login
P´agina do administrador
P´agina do usu´ario comum
P´agina de login
Atributos do cookie
Coment´ario
String:getComment() e setComment(valor:String)
Per´ıodo de expira¸c˜ao (em segundos)
int:getMaxAge() e setMaxAge(valor:int)
Valor negativo cria um cookie que nunca expira
Dom´ınio (servidor)
String:getDomain() e setDomain(valor:String)
Nome
String:getNome() e setNome(valor:String)
Valor
String:getValor() e setValor(valor:String)
Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
Introdu¸c˜ao
Servlet Container
HTML
Servlet
JSP (JavaServer Pages)
Modelo mvc
Cookies e Sess˜oes
Definindo um cokie
Atributos do cookie
An´alise
Sess˜oes
Exemplo: Sistema de Login
Exemplo: Sistema de Login
P´agina do administrador
P´agina do usu´ario comum
P´agina de login
An´alise
O cookie ´e enviado toda vez que o cliente fizer a requisi¸c˜ao,
desde que ele n˜ao tenha expirado
Desvantagem
Muitos usu´arios desabilitam no browser o armazenamento de
cookies
Cada cookie s´o armazena um valor e o valor tem que ser do
tipo String
Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
Introdu¸c˜ao
Servlet Container
HTML
Servlet
JSP (JavaServer Pages)
Modelo mvc
Cookies e Sess˜oes
Definindo um cokie
Atributos do cookie
An´alise
Sess˜oes
Exemplo: Sistema de Login
Exemplo: Sistema de Login
P´agina do administrador
P´agina do usu´ario comum
P´agina de login
Sess˜oes
Servi¸co oferecido pelo servidor de aplica¸c˜ao
Deve ser gerenciado pelo seu Servlet
O programador deve verificar se j´a existe uma se¸c˜ao para o
Servlet, caso contr´ario deve criar uma
A partir da´ı qualquer requisi¸c˜ao feita pelo mesmo usu´ario
(ip:browser) fornecer´a o mesmo objeto HttpSession, mesmo
para Servlets diferentes
Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
Introdu¸c˜ao
Servlet Container
HTML
Servlet
JSP (JavaServer Pages)
Modelo mvc
Cookies e Sess˜oes
Definindo um cokie
Atributos do cookie
An´alise
Sess˜oes
Exemplo: Sistema de Login
Exemplo: Sistema de Login
P´agina do administrador
P´agina do usu´ario comum
P´agina de login
Exemplo: Sistema de Login
@Override
public void doGet(HttpServletRequest req, HttpServletResponse
res) throws ServletException, IOException{
String login = req.getParameter(”login”);
String senha = req.getParameter(”senha”);
List<Usuario> users = (List)
req.getServletContext().getAttribute(”users”);
Usuario userLogado = logar(login, senha, users);
req.setAttribute(”mensagem”, ””);
HttpSession sessao = req.getSession(true);
Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
Introdu¸c˜ao
Servlet Container
HTML
Servlet
JSP (JavaServer Pages)
Modelo mvc
Cookies e Sess˜oes
Definindo um cokie
Atributos do cookie
An´alise
Sess˜oes
Exemplo: Sistema de Login
Exemplo: Sistema de Login
P´agina do administrador
P´agina do usu´ario comum
P´agina de login
Exemplo: Sistema de Login
if(userLogado != null){
sessao.setAttribute(”user”, userLogado);
if(userLogado.getAdm()){
req.getRequestDispatcher(”/Administrador.jsp”).forward(req,
res);
}else{
req.getRequestDispatcher(”/UsuarioComum.jsp”).forward(req,
res);
}
}else{
sessao.removeAttribute(”user”);
req.setAttribute(”mensagem”, ”Erro: login e/ou senha
inv´alido(s)!”); Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
Introdu¸c˜ao
Servlet Container
HTML
Servlet
JSP (JavaServer Pages)
Modelo mvc
Cookies e Sess˜oes
Definindo um cokie
Atributos do cookie
An´alise
Sess˜oes
Exemplo: Sistema de Login
Exemplo: Sistema de Login
P´agina do administrador
P´agina do usu´ario comum
P´agina de login
P´agina do administrador
<body>
Oi ${user.login} vocˆe tem acesso como administrador.
</body>
Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
Introdu¸c˜ao
Servlet Container
HTML
Servlet
JSP (JavaServer Pages)
Modelo mvc
Cookies e Sess˜oes
Definindo um cokie
Atributos do cookie
An´alise
Sess˜oes
Exemplo: Sistema de Login
Exemplo: Sistema de Login
P´agina do administrador
P´agina do usu´ario comum
P´agina de login
P´agina do usu´ario comum
<body>
Oi ${user.login} vocˆe tem acesso como usu´ario comum.
</body>
Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
Introdu¸c˜ao
Servlet Container
HTML
Servlet
JSP (JavaServer Pages)
Modelo mvc
Cookies e Sess˜oes
Definindo um cokie
Atributos do cookie
An´alise
Sess˜oes
Exemplo: Sistema de Login
Exemplo: Sistema de Login
P´agina do administrador
P´agina do usu´ario comum
P´agina de login
P´agina de login
<body>
<% if(request.getAttribute(”mensagem”) != null){
out.println(request.getAttribute(”mensagem”));
}%>
<form method=”GET” action=”/Siecomp/servlets/login”>
Login: <input type=”text” name=”login”/> <br>
Senha: <input type=”password” name=”senha”> <br>
<input type=”submit” value=”entrar”/>
</form>
</body>
Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java

Mais conteúdo relacionado

Mais procurados

Java Web 4 - Servlets e JSP 2
Java Web 4 - Servlets e JSP 2Java Web 4 - Servlets e JSP 2
Java Web 4 - Servlets e JSP 2Eduardo Mendes
 
Beyond Ruby with NodeJS - RubyConf Brasil 2010
Beyond Ruby with NodeJS - RubyConf Brasil 2010Beyond Ruby with NodeJS - RubyConf Brasil 2010
Beyond Ruby with NodeJS - RubyConf Brasil 2010Emerson Macedo
 
Java Web 5 - JSP, Expression Language e Taglibs
Java Web 5 - JSP, Expression Language e TaglibsJava Web 5 - JSP, Expression Language e Taglibs
Java Web 5 - JSP, Expression Language e TaglibsEduardo Mendes
 
Java Web - MVC básico com JSP e Servlets
Java Web - MVC básico com JSP e ServletsJava Web - MVC básico com JSP e Servlets
Java Web - MVC básico com JSP e ServletsEduardo Mendes
 
Introdução à Servlets e JSP
Introdução à Servlets e JSPIntrodução à Servlets e JSP
Introdução à Servlets e JSPledsifes
 
Programação para Web II: Estrutura de um projeto Java Web
Programação para Web II: Estrutura de um projeto Java WebProgramação para Web II: Estrutura de um projeto Java Web
Programação para Web II: Estrutura de um projeto Java WebAlex Camargo
 
Java web 6 JSP Expression Language Taglib parte 2
Java web 6 JSP Expression Language Taglib parte 2Java web 6 JSP Expression Language Taglib parte 2
Java web 6 JSP Expression Language Taglib parte 2Eduardo Mendes
 
Servlet jsp tomcat 8
Servlet jsp tomcat 8Servlet jsp tomcat 8
Servlet jsp tomcat 8maxrosan
 
Integração Contínua com CruiseControl e phpUnderControl
Integração Contínua com CruiseControl e phpUnderControlIntegração Contínua com CruiseControl e phpUnderControl
Integração Contínua com CruiseControl e phpUnderControlDiego Tremper
 
Integracao Contínua com CruiseControl e phpUnderControl
Integracao Contínua com CruiseControl e phpUnderControlIntegracao Contínua com CruiseControl e phpUnderControl
Integracao Contínua com CruiseControl e phpUnderControlDiego Tremper
 

Mais procurados (20)

Servlets e jsp
Servlets e jspServlets e jsp
Servlets e jsp
 
Java Web 4 - Servlets e JSP 2
Java Web 4 - Servlets e JSP 2Java Web 4 - Servlets e JSP 2
Java Web 4 - Servlets e JSP 2
 
Servlets e JSP
Servlets e JSPServlets e JSP
Servlets e JSP
 
Aplicações web parte 2
Aplicações web parte 2Aplicações web parte 2
Aplicações web parte 2
 
Servlets e JSP
Servlets e JSPServlets e JSP
Servlets e JSP
 
Beyond Ruby with NodeJS - RubyConf Brasil 2010
Beyond Ruby with NodeJS - RubyConf Brasil 2010Beyond Ruby with NodeJS - RubyConf Brasil 2010
Beyond Ruby with NodeJS - RubyConf Brasil 2010
 
Java Web 5 - JSP, Expression Language e Taglibs
Java Web 5 - JSP, Expression Language e TaglibsJava Web 5 - JSP, Expression Language e Taglibs
Java Web 5 - JSP, Expression Language e Taglibs
 
Java Web - MVC básico com JSP e Servlets
Java Web - MVC básico com JSP e ServletsJava Web - MVC básico com JSP e Servlets
Java Web - MVC básico com JSP e Servlets
 
Introdução à Servlets e JSP
Introdução à Servlets e JSPIntrodução à Servlets e JSP
Introdução à Servlets e JSP
 
Tutorial +login+mvc
Tutorial +login+mvcTutorial +login+mvc
Tutorial +login+mvc
 
Programação para Web II: Estrutura de um projeto Java Web
Programação para Web II: Estrutura de um projeto Java WebProgramação para Web II: Estrutura de um projeto Java Web
Programação para Web II: Estrutura de um projeto Java Web
 
Java web 6 JSP Expression Language Taglib parte 2
Java web 6 JSP Expression Language Taglib parte 2Java web 6 JSP Expression Language Taglib parte 2
Java web 6 JSP Expression Language Taglib parte 2
 
Cakephp 2.0 - O que mudou
Cakephp 2.0 - O que mudouCakephp 2.0 - O que mudou
Cakephp 2.0 - O que mudou
 
Spring Framework
Spring FrameworkSpring Framework
Spring Framework
 
Http Servlet
Http ServletHttp Servlet
Http Servlet
 
Servlet jsp tomcat 8
Servlet jsp tomcat 8Servlet jsp tomcat 8
Servlet jsp tomcat 8
 
Integração Contínua com CruiseControl e phpUnderControl
Integração Contínua com CruiseControl e phpUnderControlIntegração Contínua com CruiseControl e phpUnderControl
Integração Contínua com CruiseControl e phpUnderControl
 
ASP.NET AJAX
ASP.NET AJAXASP.NET AJAX
ASP.NET AJAX
 
Te servelts
Te serveltsTe servelts
Te servelts
 
Integracao Contínua com CruiseControl e phpUnderControl
Integracao Contínua com CruiseControl e phpUnderControlIntegracao Contínua com CruiseControl e phpUnderControl
Integracao Contínua com CruiseControl e phpUnderControl
 

Destaque

Carlos levinton - Green Drinks agosto 2013
Carlos levinton - Green Drinks agosto 2013Carlos levinton - Green Drinks agosto 2013
Carlos levinton - Green Drinks agosto 2013greendrinksba
 
DBK Empty DwlMrktRdyCln
DBK Empty DwlMrktRdyClnDBK Empty DwlMrktRdyCln
DBK Empty DwlMrktRdyClnLisa Sayne
 
Síntesis de contenido del diplomado
Síntesis de contenido del diplomadoSíntesis de contenido del diplomado
Síntesis de contenido del diplomadorafael cassis jimenez
 
Repatriação de dinheiro que estava no exterior
Repatriação de dinheiro que estava no exteriorRepatriação de dinheiro que estava no exterior
Repatriação de dinheiro que estava no exteriorClaudio Osti
 
Rubina Profile
Rubina ProfileRubina Profile
Rubina ProfileR H
 
Efeito da vacina Vision 7, de uma vacina com saponina, e controle com solução...
Efeito da vacina Vision 7, de uma vacina com saponina, e controle com solução...Efeito da vacina Vision 7, de uma vacina com saponina, e controle com solução...
Efeito da vacina Vision 7, de uma vacina com saponina, e controle com solução...AgriPoint
 
Mi primera diapositiva
Mi primera diapositivaMi primera diapositiva
Mi primera diapositivaplonco89
 
Cb bivens-thumbs
Cb bivens-thumbsCb bivens-thumbs
Cb bivens-thumbsmorrowman1
 
Fashion Revolution Argentina - GDBA AGOSTO 2016
Fashion Revolution Argentina - GDBA AGOSTO 2016Fashion Revolution Argentina - GDBA AGOSTO 2016
Fashion Revolution Argentina - GDBA AGOSTO 2016greendrinksba
 
Rob Delius Stride Treglown Low Carbon Business Breakfast 160315
Rob Delius Stride Treglown Low Carbon Business Breakfast 160315Rob Delius Stride Treglown Low Carbon Business Breakfast 160315
Rob Delius Stride Treglown Low Carbon Business Breakfast 160315The Future Economy Network
 
Smau Bologna 2016 - Microsoft
Smau Bologna 2016 - MicrosoftSmau Bologna 2016 - Microsoft
Smau Bologna 2016 - MicrosoftSMAU
 
80 km variant N279 den bosch veghel
80 km variant N279 den bosch veghel80 km variant N279 den bosch veghel
80 km variant N279 den bosch veghelson279
 
Biótico - GDBA 2016
Biótico - GDBA 2016Biótico - GDBA 2016
Biótico - GDBA 2016greendrinksba
 
Artikel golan journal jamr vol 11 no 02 edisi khusus des 2015 issn 1907 648 uib
Artikel golan journal jamr vol 11 no 02 edisi khusus des 2015 issn 1907 648 uibArtikel golan journal jamr vol 11 no 02 edisi khusus des 2015 issn 1907 648 uib
Artikel golan journal jamr vol 11 no 02 edisi khusus des 2015 issn 1907 648 uibUniversitas Intersional Batam
 
Apresentação seo pousada
Apresentação seo pousadaApresentação seo pousada
Apresentação seo pousadaRodrigo
 
Criterios unificados familias maestros
 Criterios unificados familias maestros  Criterios unificados familias maestros
Criterios unificados familias maestros oscargrcgrc
 

Destaque (20)

ugugh
 ugugh ugugh
ugugh
 
Carlos levinton - Green Drinks agosto 2013
Carlos levinton - Green Drinks agosto 2013Carlos levinton - Green Drinks agosto 2013
Carlos levinton - Green Drinks agosto 2013
 
DBK Empty DwlMrktRdyCln
DBK Empty DwlMrktRdyClnDBK Empty DwlMrktRdyCln
DBK Empty DwlMrktRdyCln
 
Ley universitaria
Ley universitariaLey universitaria
Ley universitaria
 
F O T I K O S
F O T I K O SF O T I K O S
F O T I K O S
 
Síntesis de contenido del diplomado
Síntesis de contenido del diplomadoSíntesis de contenido del diplomado
Síntesis de contenido del diplomado
 
Repatriação de dinheiro que estava no exterior
Repatriação de dinheiro que estava no exteriorRepatriação de dinheiro que estava no exterior
Repatriação de dinheiro que estava no exterior
 
Rubina Profile
Rubina ProfileRubina Profile
Rubina Profile
 
Efeito da vacina Vision 7, de uma vacina com saponina, e controle com solução...
Efeito da vacina Vision 7, de uma vacina com saponina, e controle com solução...Efeito da vacina Vision 7, de uma vacina com saponina, e controle com solução...
Efeito da vacina Vision 7, de uma vacina com saponina, e controle com solução...
 
Mi primera diapositiva
Mi primera diapositivaMi primera diapositiva
Mi primera diapositiva
 
fahad om
fahad omfahad om
fahad om
 
Cb bivens-thumbs
Cb bivens-thumbsCb bivens-thumbs
Cb bivens-thumbs
 
Fashion Revolution Argentina - GDBA AGOSTO 2016
Fashion Revolution Argentina - GDBA AGOSTO 2016Fashion Revolution Argentina - GDBA AGOSTO 2016
Fashion Revolution Argentina - GDBA AGOSTO 2016
 
Rob Delius Stride Treglown Low Carbon Business Breakfast 160315
Rob Delius Stride Treglown Low Carbon Business Breakfast 160315Rob Delius Stride Treglown Low Carbon Business Breakfast 160315
Rob Delius Stride Treglown Low Carbon Business Breakfast 160315
 
Smau Bologna 2016 - Microsoft
Smau Bologna 2016 - MicrosoftSmau Bologna 2016 - Microsoft
Smau Bologna 2016 - Microsoft
 
80 km variant N279 den bosch veghel
80 km variant N279 den bosch veghel80 km variant N279 den bosch veghel
80 km variant N279 den bosch veghel
 
Biótico - GDBA 2016
Biótico - GDBA 2016Biótico - GDBA 2016
Biótico - GDBA 2016
 
Artikel golan journal jamr vol 11 no 02 edisi khusus des 2015 issn 1907 648 uib
Artikel golan journal jamr vol 11 no 02 edisi khusus des 2015 issn 1907 648 uibArtikel golan journal jamr vol 11 no 02 edisi khusus des 2015 issn 1907 648 uib
Artikel golan journal jamr vol 11 no 02 edisi khusus des 2015 issn 1907 648 uib
 
Apresentação seo pousada
Apresentação seo pousadaApresentação seo pousada
Apresentação seo pousada
 
Criterios unificados familias maestros
 Criterios unificados familias maestros  Criterios unificados familias maestros
Criterios unificados familias maestros
 

Semelhante a Introdução ao desenvolvimento web com Java

Resumo Anotacoes Certificacao SCWCD 5
Resumo Anotacoes Certificacao SCWCD 5Resumo Anotacoes Certificacao SCWCD 5
Resumo Anotacoes Certificacao SCWCD 5Gilberto Holms
 
02 - Fundamentos de Servlets
02 - Fundamentos de Servlets02 - Fundamentos de Servlets
02 - Fundamentos de ServletsMarcio Marinho
 
Curso de WebServlets (Java EE 7)
Curso de WebServlets (Java EE 7)Curso de WebServlets (Java EE 7)
Curso de WebServlets (Java EE 7)Helder da Rocha
 
Servlets E Applet
Servlets E AppletServlets E Applet
Servlets E Appletasiramage
 
Curso de Java (Parte 7) Web Application
Curso de Java (Parte 7) Web ApplicationCurso de Java (Parte 7) Web Application
Curso de Java (Parte 7) Web ApplicationMario Sergio
 
Trabalho ProgramaçãO Comercial Ii
Trabalho ProgramaçãO Comercial IiTrabalho ProgramaçãO Comercial Ii
Trabalho ProgramaçãO Comercial IiMateus Ramos Pereira
 
Uma abordagem ao Java EE 6
Uma abordagem ao Java EE 6Uma abordagem ao Java EE 6
Uma abordagem ao Java EE 6danielfcampos
 
Navegando em um mar de siglas do mundo java
Navegando em um mar de siglas do mundo javaNavegando em um mar de siglas do mundo java
Navegando em um mar de siglas do mundo javaAndrei Tognolo
 
Apostilava Java EE 5 - 2007
Apostilava Java EE 5 - 2007Apostilava Java EE 5 - 2007
Apostilava Java EE 5 - 2007Rafael Benevides
 
JSP - Java Serves Pages
JSP - Java Serves PagesJSP - Java Serves Pages
JSP - Java Serves PagesAmanda Luz
 
Apache Wicket - Desenvolvimento WEB orientado a componentes
Apache Wicket - Desenvolvimento WEB orientado a componentesApache Wicket - Desenvolvimento WEB orientado a componentes
Apache Wicket - Desenvolvimento WEB orientado a componentesCI&T
 
Introdução aos Servlets e JSPs
Introdução aos Servlets e JSPsIntrodução aos Servlets e JSPs
Introdução aos Servlets e JSPsLuiz Ricardo Silva
 
Apresentação Java Web Si Ufc Quixadá - MVC
Apresentação Java Web Si Ufc Quixadá - MVCApresentação Java Web Si Ufc Quixadá - MVC
Apresentação Java Web Si Ufc Quixadá - MVCZarathon Maia
 
Testes em Aplicações Web com Cactus
Testes em Aplicações Web com CactusTestes em Aplicações Web com Cactus
Testes em Aplicações Web com CactusDenis L Presciliano
 

Semelhante a Introdução ao desenvolvimento web com Java (20)

Servlets
ServletsServlets
Servlets
 
Resumo Anotacoes Certificacao SCWCD 5
Resumo Anotacoes Certificacao SCWCD 5Resumo Anotacoes Certificacao SCWCD 5
Resumo Anotacoes Certificacao SCWCD 5
 
02 - Fundamentos de Servlets
02 - Fundamentos de Servlets02 - Fundamentos de Servlets
02 - Fundamentos de Servlets
 
Curso de WebServlets (Java EE 7)
Curso de WebServlets (Java EE 7)Curso de WebServlets (Java EE 7)
Curso de WebServlets (Java EE 7)
 
Curso de Servlets
Curso de ServletsCurso de Servlets
Curso de Servlets
 
Servlets E Applet
Servlets E AppletServlets E Applet
Servlets E Applet
 
Curso de Java (Parte 7) Web Application
Curso de Java (Parte 7) Web ApplicationCurso de Java (Parte 7) Web Application
Curso de Java (Parte 7) Web Application
 
Servlets
ServletsServlets
Servlets
 
servlet-respostas
servlet-respostasservlet-respostas
servlet-respostas
 
Trabalho ProgramaçãO Comercial Ii
Trabalho ProgramaçãO Comercial IiTrabalho ProgramaçãO Comercial Ii
Trabalho ProgramaçãO Comercial Ii
 
Uma abordagem ao Java EE 6
Uma abordagem ao Java EE 6Uma abordagem ao Java EE 6
Uma abordagem ao Java EE 6
 
Navegando em um mar de siglas do mundo java
Navegando em um mar de siglas do mundo javaNavegando em um mar de siglas do mundo java
Navegando em um mar de siglas do mundo java
 
Apostilava Java EE 5 - 2007
Apostilava Java EE 5 - 2007Apostilava Java EE 5 - 2007
Apostilava Java EE 5 - 2007
 
JSP - Java Serves Pages
JSP - Java Serves PagesJSP - Java Serves Pages
JSP - Java Serves Pages
 
Apache Wicket - Desenvolvimento WEB orientado a componentes
Apache Wicket - Desenvolvimento WEB orientado a componentesApache Wicket - Desenvolvimento WEB orientado a componentes
Apache Wicket - Desenvolvimento WEB orientado a componentes
 
Introdução aos Servlets e JSPs
Introdução aos Servlets e JSPsIntrodução aos Servlets e JSPs
Introdução aos Servlets e JSPs
 
Apresentação Java Web Si Ufc Quixadá - MVC
Apresentação Java Web Si Ufc Quixadá - MVCApresentação Java Web Si Ufc Quixadá - MVC
Apresentação Java Web Si Ufc Quixadá - MVC
 
Testes em Aplicações Web com Cactus
Testes em Aplicações Web com CactusTestes em Aplicações Web com Cactus
Testes em Aplicações Web com Cactus
 
Te aula2
Te aula2Te aula2
Te aula2
 
Conceitos de Java Web
Conceitos de Java WebConceitos de Java Web
Conceitos de Java Web
 

Introdução ao desenvolvimento web com Java

  • 1. Introdu¸c˜ao Servlet Container HTML Servlet JSP (JavaServer Pages) Modelo mvc Cookies e Sess˜oes Introdu¸c˜ao ao desenvolvimento Web com Java Fellipe Fonseca Universidade Estadual de Feira de Santana 28 de Agosto de 2013 Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
  • 2. Introdu¸c˜ao Servlet Container HTML Servlet JSP (JavaServer Pages) Modelo mvc Cookies e Sess˜oes Introdu¸c˜ao Servlet Container Hyper Text Markup Language (HTML) Servlet JSP (JavaServer Pages) Modelo Mvc Cookies e Sess˜oes Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
  • 3. Introdu¸c˜ao Servlet Container HTML Servlet JSP (JavaServer Pages) Modelo mvc Cookies e Sess˜oes Comunica¸c˜ao Cliente-Servidor Introdu¸c˜ao Algumas vantagens Portabilidade Facilidade de Programa¸c˜ao Flexibilidade Escalabilidade Eficiˆencia Recompila¸c˜ao Autom´atica Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
  • 4. Introdu¸c˜ao Servlet Container HTML Servlet JSP (JavaServer Pages) Modelo mvc Cookies e Sess˜oes Comunica¸c˜ao Cliente-Servidor Comunica¸c˜ao Cliente-Servidor Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
  • 5. Introdu¸c˜ao Servlet Container HTML Servlet JSP (JavaServer Pages) Modelo mvc Cookies e Sess˜oes Apache Tomcat Integrando o Tomcat no Netbeans Servlet Container ´E um servidor que interage com as ferramentas Java. Exemplo: Jetty, Apache Tomcat Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
  • 6. Introdu¸c˜ao Servlet Container HTML Servlet JSP (JavaServer Pages) Modelo mvc Cookies e Sess˜oes Apache Tomcat Integrando o Tomcat no Netbeans Apache Tomcat Download no site: http://tomcat.apache.org Executando o tomcat: $ cd tomcat-7/bin $ ./startup.sh acesse http://localhost:8080 Finalizando o tomcat: $ cd tomcat-7/bin $ ./shutdown.sh Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
  • 7. Introdu¸c˜ao Servlet Container HTML Servlet JSP (JavaServer Pages) Modelo mvc Cookies e Sess˜oes Apache Tomcat Integrando o Tomcat no Netbeans Integrando o Tomcat no Netbeans 1 V´a na aba Servi¸cos 2 Clique com o bot˜ao direito em Servidores e clique em adicionar servidor 3 Selecione o Apache Tomcat 4 Em localiza¸c˜ao do servidor e em Base do catalina, selecione o diret´orio do tomcat 5 Coloque o nome de usu´ario e senha e clique em finalizar Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
  • 8. Introdu¸c˜ao Servlet Container HTML Servlet JSP (JavaServer Pages) Modelo mvc Cookies e Sess˜oes index.html Hyper Text Markup Language (HTML) <html> <head> <title>T´ıtulo da p´agina</title> </head> <body> Texto aqui !! </body> </html> Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
  • 9. Introdu¸c˜ao Servlet Container HTML Servlet JSP (JavaServer Pages) Modelo mvc Cookies e Sess˜oes index.html index.html <html> <head> <title>Siecomp</title> <meta http-equiv=”Content-Type” content=”text/html;charset=ISO-8859-1”> </head> <body> <form> Login: <input type=”text” name=”login”/> <br> Senha: <input type=”password” name=”senha”> <br> <input type=”submit” value=”entrar”/> </form> </body> Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
  • 10. Introdu¸c˜ao Servlet Container HTML Servlet JSP (JavaServer Pages) Modelo mvc Cookies e Sess˜oes LoginServlet HttpServletRequest HttpServletRequest ServletContext Passando parˆametros para o Servlet Servlet Interface Servlet void init(ServletConfig config) Chamado pelo container, indica que o Servlet est´a ativo public ServletConfig getServletConfig() Retorna um ServletConfig com parˆametros do Servlet public void service(ServletRequest req, ServletResponse res) Chamado pelo container, permite ao Servlet responder requisi¸c˜oes public String getServletInfo() Retorna informa¸c˜oes sobre o Serlvet public void destroy() Chamado pelo Container para indicar que o servi¸co “caiu” Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
  • 11. Introdu¸c˜ao Servlet Container HTML Servlet JSP (JavaServer Pages) Modelo mvc Cookies e Sess˜oes LoginServlet HttpServletRequest HttpServletRequest ServletContext Passando parˆametros para o Servlet LoginServlet public class LoginServlet extends HttpServlet { @Override public void init(ServletConfig config) throws ServletException{ } @Override public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { ServletOutputStream out = res.getOutputStream(); res.setContentType(”text/html”); String page; page = “<html> <head> <title> RespostaServlet </title> ” + “</head> <body> Oi ” + req.getParameter(”login”) + “ :) </body> </html>”; out.println(page); Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
  • 12. Introdu¸c˜ao Servlet Container HTML Servlet JSP (JavaServer Pages) Modelo mvc Cookies e Sess˜oes LoginServlet HttpServletRequest HttpServletRequest ServletContext Passando parˆametros para o Servlet HttpServletRequest M´etodos que acessam parˆametros String getParameter(String nome) Enumeration getParametersNames() String[ ] getParameterValues(String nome) Exemplo de uma String de dados: param1=Fellipe&param2=20 Os valores s˜ao lidos decodificados! Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
  • 13. Introdu¸c˜ao Servlet Container HTML Servlet JSP (JavaServer Pages) Modelo mvc Cookies e Sess˜oes LoginServlet HttpServletRequest HttpServletRequest ServletContext Passando parˆametros para o Servlet HttpServletRequest setStatus(int codigo) Define o status da resposta setHeader(String campo, String valor) Define o valor de um campo do cabe¸calho resposta addHeader(String campo, String valor) Adiciona uma tupla (campo, valor) ao cabe¸calho da resposta sendRedirect(String URL) Redireciona a resposta para outra URL Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
  • 14. Introdu¸c˜ao Servlet Container HTML Servlet JSP (JavaServer Pages) Modelo mvc Cookies e Sess˜oes LoginServlet HttpServletRequest HttpServletRequest ServletContext Passando parˆametros para o Servlet ServletContext Al´em dos parˆametros de inicializa¸c˜ao do contexto do Servlet, podemos usar esse objeto para atribuir e recuperar atributos que ser˜ao compartilhados por todos os Servlets do contexto. java.lang.Object getAttribute(String nomeDoAtributo); java.util.Enumeration getAttributeNames(); void removeAttribute(String nomeDoAtributo); void setAttribute(String nomeDoAtributo, String valor do Atributo); Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
  • 15. Introdu¸c˜ao Servlet Container HTML Servlet JSP (JavaServer Pages) Modelo mvc Cookies e Sess˜oes LoginServlet HttpServletRequest HttpServletRequest ServletContext Passando parˆametros para o Servlet Passando parˆametros para o Servlet /Siecomp/web/WEB-INF/web.xml <servlet> <servlet-name>LoginServlet</servlet-name> <servlet-class>servlets.LoginServlet</servlet-class> <init-param> <param-name>mensagem</param-name> <param-value¿Bem vindo</param-value> </init-param> </servlet> Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
  • 16. Introdu¸c˜ao Servlet Container HTML Servlet JSP (JavaServer Pages) Modelo mvc Cookies e Sess˜oes LoginServlet HttpServletRequest HttpServletRequest ServletContext Passando parˆametros para o Servlet Passando parˆametros para o Servlet @Override public void init(ServletConfig config) throws ServletException{ //Recuperando parˆametro String parametro1 = config.getInitParameter(”mensagem”); //Retornando contexto ServletContext sc = config.getServletContext(); //Adicionando atributo ao contexto. sc.setAttribute(”msg”, parametro1); } Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
  • 17. Introdu¸c˜ao Servlet Container HTML Servlet JSP (JavaServer Pages) Modelo mvc Cookies e Sess˜oes LoginServlet HttpServletRequest HttpServletRequest ServletContext Passando parˆametros para o Servlet Passando parˆametros para o Servlet @Override public void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException{ ServletOutputStream out = res.getOutputStream(); res.setContentType(”text/html”); ServletContext sc = req.getServletContext(); String mensagem = sc.getAttribute(”msg”).toString(); Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
  • 18. Introdu¸c˜ao Servlet Container HTML Servlet JSP (JavaServer Pages) Modelo mvc Cookies e Sess˜oes LoginServlet HttpServletRequest HttpServletRequest ServletContext Passando parˆametros para o Servlet Passando parˆametros para o Servlet String page; page = ”<html> <head> <title>RespostaServlet</title> </head>” + ”<body>” + mensagem + ” ” + req.getParameter(”login”) + ” :) </body>” + ”</html>”; out.println(page); } Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
  • 19. Introdu¸c˜ao Servlet Container HTML Servlet JSP (JavaServer Pages) Modelo mvc Cookies e Sess˜oes LoginServlet HttpServletRequest HttpServletRequest ServletContext Passando parˆametros para o Servlet Formata¸c˜ao da p´agina Imagine um Servlet para gerar o seguinte HTML... Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
  • 20. Introdu¸c˜ao Servlet Container HTML Servlet JSP (JavaServer Pages) Modelo mvc Cookies e Sess˜oes LoginServlet HttpServletRequest HttpServletRequest ServletContext Passando parˆametros para o Servlet Formata¸c˜ao da p´agina Ficaria assim: Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
  • 21. Introdu¸c˜ao Servlet Container HTML Servlet JSP (JavaServer Pages) Modelo mvc Cookies e Sess˜oes JavaServer Pages JSP (JavaServer Pages) <% @page contentType=”text/html” pageEncoding=”ISO-8859-1”% > <!DOCTYPE html> <html> <head> <meta http-equiv=”Content-Type” content=”text/html;charset=ISO-8859-1”> <title>JSP Page</title > </head> <body> Ol´a <%=request.getParameter(”login”) %> </body> </html> Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
  • 22. Introdu¸c˜ao Servlet Container HTML Servlet JSP (JavaServer Pages) Modelo mvc Cookies e Sess˜oes JavaServer Pages JSP (JavaServer Pages) <body> Ol´a <%if(request.getParameter(”sexo”).equals(”masculino”)){ out.print(”senhor”); }else{ out.print(”senhora”); } %> <%=request.getParameter(”login”)%> <br> A data corrente ´e ”<%=new Date()%>”<br> </body> Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
  • 23. Introdu¸c˜ao Servlet Container HTML Servlet JSP (JavaServer Pages) Modelo mvc Cookies e Sess˜oes Repassando a requisi¸c˜ao Apresentando a mensagem Modelo mvc O Servlet fica com a l´ogica de neg´ocio e o Jsp com a l´ogica de apresenta¸c˜ao Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
  • 24. Introdu¸c˜ao Servlet Container HTML Servlet JSP (JavaServer Pages) Modelo mvc Cookies e Sess˜oes Repassando a requisi¸c˜ao Apresentando a mensagem Repassando a requisi¸c˜ao public void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException{ String login = req.getParameter(”login”); String sexo = req.getParameter(”sexo”); String tratamento; Date data = new Date(); if(sexo.equals(”masculino”)){ tratamento = ”senhor”; }else{ tratamento = ”senhora”; } Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
  • 25. Introdu¸c˜ao Servlet Container HTML Servlet JSP (JavaServer Pages) Modelo mvc Cookies e Sess˜oes Repassando a requisi¸c˜ao Apresentando a mensagem Repassando a requisi¸c˜ao req.setAttribute(”login”, login); req.setAttribute(”tratamento”, tratamento); req.setAttribute(”data”, data); req.getRequestDispatcher(”/mensagem.jsp”).forward(req, res); } Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
  • 26. Introdu¸c˜ao Servlet Container HTML Servlet JSP (JavaServer Pages) Modelo mvc Cookies e Sess˜oes Repassando a requisi¸c˜ao Apresentando a mensagem Apresentando a mensagem <body> Ol´a ${tratamento} ${login} <br> A data corrente ´e ”${data}” </body> Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
  • 27. Introdu¸c˜ao Servlet Container HTML Servlet JSP (JavaServer Pages) Modelo mvc Cookies e Sess˜oes Definindo um cokie Atributos do cookie An´alise Sess˜oes Exemplo: Sistema de Login Exemplo: Sistema de Login P´agina do administrador P´agina do usu´ario comum P´agina de login Cookies e Sess˜oes: Armazenando informa¸c˜oes do usu´ario Exemplo: carrinho de compras Como manter um hist´orico das compras efetuadas pelo cliente? Exemplo: login Como saber se o usu´ario j´a logou na aplica¸c˜ao? Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
  • 28. Introdu¸c˜ao Servlet Container HTML Servlet JSP (JavaServer Pages) Modelo mvc Cookies e Sess˜oes Definindo um cokie Atributos do cookie An´alise Sess˜oes Exemplo: Sistema de Login Exemplo: Sistema de Login P´agina do administrador P´agina do usu´ario comum P´agina de login Definindo um cokie Cookie c = new Cookie(“Contador”,“0”); c.setComment(“Cookie de exemplo / teste”); c.setMaxAge(60); response.addCookie(c); Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
  • 29. Introdu¸c˜ao Servlet Container HTML Servlet JSP (JavaServer Pages) Modelo mvc Cookies e Sess˜oes Definindo um cokie Atributos do cookie An´alise Sess˜oes Exemplo: Sistema de Login Exemplo: Sistema de Login P´agina do administrador P´agina do usu´ario comum P´agina de login Atributos do cookie Coment´ario String:getComment() e setComment(valor:String) Per´ıodo de expira¸c˜ao (em segundos) int:getMaxAge() e setMaxAge(valor:int) Valor negativo cria um cookie que nunca expira Dom´ınio (servidor) String:getDomain() e setDomain(valor:String) Nome String:getNome() e setNome(valor:String) Valor String:getValor() e setValor(valor:String) Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
  • 30. Introdu¸c˜ao Servlet Container HTML Servlet JSP (JavaServer Pages) Modelo mvc Cookies e Sess˜oes Definindo um cokie Atributos do cookie An´alise Sess˜oes Exemplo: Sistema de Login Exemplo: Sistema de Login P´agina do administrador P´agina do usu´ario comum P´agina de login An´alise O cookie ´e enviado toda vez que o cliente fizer a requisi¸c˜ao, desde que ele n˜ao tenha expirado Desvantagem Muitos usu´arios desabilitam no browser o armazenamento de cookies Cada cookie s´o armazena um valor e o valor tem que ser do tipo String Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
  • 31. Introdu¸c˜ao Servlet Container HTML Servlet JSP (JavaServer Pages) Modelo mvc Cookies e Sess˜oes Definindo um cokie Atributos do cookie An´alise Sess˜oes Exemplo: Sistema de Login Exemplo: Sistema de Login P´agina do administrador P´agina do usu´ario comum P´agina de login Sess˜oes Servi¸co oferecido pelo servidor de aplica¸c˜ao Deve ser gerenciado pelo seu Servlet O programador deve verificar se j´a existe uma se¸c˜ao para o Servlet, caso contr´ario deve criar uma A partir da´ı qualquer requisi¸c˜ao feita pelo mesmo usu´ario (ip:browser) fornecer´a o mesmo objeto HttpSession, mesmo para Servlets diferentes Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
  • 32. Introdu¸c˜ao Servlet Container HTML Servlet JSP (JavaServer Pages) Modelo mvc Cookies e Sess˜oes Definindo um cokie Atributos do cookie An´alise Sess˜oes Exemplo: Sistema de Login Exemplo: Sistema de Login P´agina do administrador P´agina do usu´ario comum P´agina de login Exemplo: Sistema de Login @Override public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException{ String login = req.getParameter(”login”); String senha = req.getParameter(”senha”); List<Usuario> users = (List) req.getServletContext().getAttribute(”users”); Usuario userLogado = logar(login, senha, users); req.setAttribute(”mensagem”, ””); HttpSession sessao = req.getSession(true); Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
  • 33. Introdu¸c˜ao Servlet Container HTML Servlet JSP (JavaServer Pages) Modelo mvc Cookies e Sess˜oes Definindo um cokie Atributos do cookie An´alise Sess˜oes Exemplo: Sistema de Login Exemplo: Sistema de Login P´agina do administrador P´agina do usu´ario comum P´agina de login Exemplo: Sistema de Login if(userLogado != null){ sessao.setAttribute(”user”, userLogado); if(userLogado.getAdm()){ req.getRequestDispatcher(”/Administrador.jsp”).forward(req, res); }else{ req.getRequestDispatcher(”/UsuarioComum.jsp”).forward(req, res); } }else{ sessao.removeAttribute(”user”); req.setAttribute(”mensagem”, ”Erro: login e/ou senha inv´alido(s)!”); Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
  • 34. Introdu¸c˜ao Servlet Container HTML Servlet JSP (JavaServer Pages) Modelo mvc Cookies e Sess˜oes Definindo um cokie Atributos do cookie An´alise Sess˜oes Exemplo: Sistema de Login Exemplo: Sistema de Login P´agina do administrador P´agina do usu´ario comum P´agina de login P´agina do administrador <body> Oi ${user.login} vocˆe tem acesso como administrador. </body> Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
  • 35. Introdu¸c˜ao Servlet Container HTML Servlet JSP (JavaServer Pages) Modelo mvc Cookies e Sess˜oes Definindo um cokie Atributos do cookie An´alise Sess˜oes Exemplo: Sistema de Login Exemplo: Sistema de Login P´agina do administrador P´agina do usu´ario comum P´agina de login P´agina do usu´ario comum <body> Oi ${user.login} vocˆe tem acesso como usu´ario comum. </body> Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java
  • 36. Introdu¸c˜ao Servlet Container HTML Servlet JSP (JavaServer Pages) Modelo mvc Cookies e Sess˜oes Definindo um cokie Atributos do cookie An´alise Sess˜oes Exemplo: Sistema de Login Exemplo: Sistema de Login P´agina do administrador P´agina do usu´ario comum P´agina de login P´agina de login <body> <% if(request.getAttribute(”mensagem”) != null){ out.println(request.getAttribute(”mensagem”)); }%> <form method=”GET” action=”/Siecomp/servlets/login”> Login: <input type=”text” name=”login”/> <br> Senha: <input type=”password” name=”senha”> <br> <input type=”submit” value=”entrar”/> </form> </body> Fellipe Fonseca Introdu¸c˜ao ao desenvolvimento Web com Java