SlideShare uma empresa Scribd logo
1 de 33
Baixar para ler offline
Professor Daniel Brandão 1
ENTENDENDO
SERVLETS E JSP
1. Introdução aos Servlets
2. Requisições em Servlets
3. Ciclo de vida
4. JSP – JavaServer Pages
5. Scriptlet
6. Resumo e Revisão
2
DO QUE TRATAREMOS:
3
1. INTRODUÇÃO AOS
SERVLETS
Páginas dinâmicas:
 Quando a Web surgiu, seu objetivo era a troca de
conteúdos através de páginas HTML estáticas.
 Imagens, animações e outros conteúdos também
eram disponibilizados.
 Era pouco para o potencial da web. Era preciso
páginas HTML geradas dinamicamente baseadas nas
requisições dos usuários.
4
1. INTRODUÇÃO AOS SERVLETS
 Criou-se a ideia de “geradores dinâmicos”.
Servidores web consultando outros arquivos com
conteúdos (CGI).
 Em Java, surgiu então Servlet em 1997. Pequeno
servidor com objetivo de receber chamadas HTTP,
processar e devolver uma resposta.
 Seguindo o conceito POO, servlets são objetos Java
que recebem requisições (request) e produzem algo
(response), como uma página HTML por ex.
5
1. INTRODUÇÃO AOS SERVLETS
6
2. REQUISIÇÕES EM
SERVLETS
 Para escrevermos uma servlet, criamos uma classe Java
que estenda HttpServlet e sobrescreva um método
chamado service. Esse método será o responsável por
atender requisições e gerar as respostas adequadas.
7
2. REQUISIÇÕES EM SERVLETS
 Para escrevermos uma servlet, criamos uma classe Java
que estenda HttpServlet e sobrescreva um método
chamado service. Esse método será o responsável por
atender requisições e gerar as respostas adequadas.
 EX:
protected void service (HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
...
}
8
2. REQUISIÇÕES EM SERVLETS
 Ao desenvolver uma aplicação Web, sempre
precisamos realizar operações no lado do servidor,
com dados informados pelo usuário, seja através de
formulários ou seja através da URL.
 Como exemplo, podemos ter uma página HTML com
um formulário de contato a ser salvo em um banco
de dados.
9
2.1 PARÂMETROS NAS REQUISIÇÕES
 EX: Formulário Adiciona Contato
10
2.1 PARÂMETROS NAS REQUISIÇÕES
 EX: Servlet
11
2.1 PARÂMETROS NAS REQUISIÇÕES
12
2.1 PARÂMETROS NAS REQUISIÇÕES
13
3. CICLO DE VIDA
SERVLETS
14
3. CICLO DE VIDA SERVLETS
15
4. JSP – JAVA SERVER
PAGES
 JSP é uma tecnologia padrão, baseada em templates
para servlets. O mecanismo que a traduz é embutido
no servidor
16
4. JSP – JAVA SERVER PAGES
 JSP é uma tecnologia padrão, baseada em templates
para servlets. O mecanismo que a traduz é embutido
no servidor
 Em um servidor que suporta JSP, o processamento
passa por uma camada adicional onde a página é
transformada (compilada) em um servlet
17
4. JSP – JAVA SERVER PAGES
 JSP é uma tecnologia padrão, baseada em templates
para servlets. O mecanismo que a traduz é embutido
no servidor
 Em um servidor que suporta JSP, o processamento
passa por uma camada adicional onde a página é
transformada (compilada) em um servlet
 Trata-se, portanto, de um arquivo baseado em HTML
mas salvo em formato .JSP
18
4. JSP – JAVA SERVER PAGES
19
4. JSP – FUNCIONAMENTO
 EX: Trecho de código contendo tags HTML e bloco de
códigos (scriptlets) e expressões
20
4. JSP – JAVASERVER PAGES
21
5. SCRIPTLET
 Scriptlet é o código escrito entre <% e %>. São
Blocos de código executados sempre que uma
página JSP é processada.
22
4. SCRIPTLET
 Scriptlet é o código escrito entre <% e %>. São
Blocos de código executados sempre que uma
página JSP é processada.
 Esse nome é composto da palavra script (pedaço de
código em linguagem de programação) com o sufixo
let, que indica algo pequeno.
23
4. SCRIPTLET
 Scriptlet é o código escrito entre <% e %>. São
Blocos de código executados sempre que uma
página JSP é processada.
 Esse nome é composto da palavra script (pedaço de
código em linguagem de programação) com o sufixo
let, que indica algo pequeno.
 O sufixo “let” é bastamte utilizado na linguagem
Java, tanto em scriptlets como em servlets, portlets,
applets etc...
24
4. SCRIPTLET
 Sintaxe dos elementos interpretados no servidor:
 Diretivas: <%@ ... %>
 Declarações: <%! ... %>
 Expressões: <%= ... %>
 Scriptlets: <% ... %>
 Comentários: <%-- ... --%>
 Ações: <jsp:ação... />
 Custom tags: <prefixo:elemento... />
25
4. SCRIPTLET
26
6. REVISÃO
 Servlet x JSP
Servlets:
 Melhor em termos de Eng. Software
 Mais flexível
 Praticamente não permite independência entre o
designer e o programador
27
6. REVISÃO
 Servlet x JSP
JSP:
 Mais fácil de aprender
 Um nível maior de abstração para o Servlets
 O Web Designer pode trabalhar independente do
Web Developer e vice-versa
28
6. REVISÃO
Os JSPs são transformados em uma Servlet,
por um compilador JSP. Esse compilador pode
gerar um código Java que é então compilado
para gerar bytecode diretamente para a
servlet
29
6. REVISÃO
 Ciclo de vida
30
6. REVISÃO
 Comentários em JSP
31
6. REVISÃO
 Segurança. Na prática são usados quatro métodos:
 1. Nas páginas que só devam ser acessadas após o Login
do usuário, informação na sessão
 2. Verificar de onde o usuário veio e só permitir o acesso
a partir de elementos do próprio site
 3. Verificar código malicioso nos campos onde o usuário
insere informações
 4. Verificar variáveis que compõe instrução SQL antes de
enviá-la ao SGBD 32
6. REVISÃO
33
Dúvidas?
Obrigado pela atenção!
+ em www.DanielBrandao.com.br

Mais conteúdo relacionado

Mais procurados

Spring Boot - Uma app do 0 a Web em 30 minutos
Spring Boot - Uma app do 0 a Web em 30 minutosSpring Boot - Uma app do 0 a Web em 30 minutos
Spring Boot - Uma app do 0 a Web em 30 minutosphelypploch
 
Introdução a JavaScript
Introdução a JavaScriptIntrodução a JavaScript
Introdução a JavaScriptBruno Catão
 
Programação Orientação a Objetos - Herança
Programação Orientação a Objetos - HerançaProgramação Orientação a Objetos - Herança
Programação Orientação a Objetos - HerançaDaniel Brandão
 
Java swing
Java swingJava swing
Java swingTiago
 
UML - Criando Diagramas Eficientes
UML - Criando Diagramas EficientesUML - Criando Diagramas Eficientes
UML - Criando Diagramas EficientesRodrigo Cascarrolho
 
Sql com sql server básico - Bóson treinamentos
Sql com sql server básico - Bóson treinamentosSql com sql server básico - Bóson treinamentos
Sql com sql server básico - Bóson treinamentosFábio dos Reis
 
Programação Orientada a Objetos parte 1
Programação Orientada a Objetos parte 1Programação Orientada a Objetos parte 1
Programação Orientada a Objetos parte 1Elaine Cecília Gatto
 
Introdução sobre desenvolvimento web
Introdução sobre desenvolvimento webIntrodução sobre desenvolvimento web
Introdução sobre desenvolvimento webRodrigo Rodrigues
 
Programação Orientada a Objetos
Programação Orientada a ObjetosProgramação Orientada a Objetos
Programação Orientada a ObjetosIgor Takenami
 
Modelos de ciclo de vida de software
Modelos de ciclo de vida de softwareModelos de ciclo de vida de software
Modelos de ciclo de vida de softwareYuri Garcia
 

Mais procurados (20)

POO - 22 - Tratamento de Exceções em Java
POO - 22 - Tratamento de Exceções em JavaPOO - 22 - Tratamento de Exceções em Java
POO - 22 - Tratamento de Exceções em Java
 
Aula02 - JavaScript
Aula02 - JavaScriptAula02 - JavaScript
Aula02 - JavaScript
 
Spring Boot - Uma app do 0 a Web em 30 minutos
Spring Boot - Uma app do 0 a Web em 30 minutosSpring Boot - Uma app do 0 a Web em 30 minutos
Spring Boot - Uma app do 0 a Web em 30 minutos
 
clean code
clean codeclean code
clean code
 
Introdução a JavaScript
Introdução a JavaScriptIntrodução a JavaScript
Introdução a JavaScript
 
Programação Orientação a Objetos - Herança
Programação Orientação a Objetos - HerançaProgramação Orientação a Objetos - Herança
Programação Orientação a Objetos - Herança
 
Introdução ao SQL
Introdução ao SQLIntrodução ao SQL
Introdução ao SQL
 
Classes e Objectos JAVA
Classes e Objectos JAVAClasses e Objectos JAVA
Classes e Objectos JAVA
 
Aula javascript
Aula  javascriptAula  javascript
Aula javascript
 
Java swing
Java swingJava swing
Java swing
 
UML - Criando Diagramas Eficientes
UML - Criando Diagramas EficientesUML - Criando Diagramas Eficientes
UML - Criando Diagramas Eficientes
 
Java - Primeiros passos
Java - Primeiros passosJava - Primeiros passos
Java - Primeiros passos
 
Aula03 - JavaScript
Aula03 - JavaScriptAula03 - JavaScript
Aula03 - JavaScript
 
Sql com sql server básico - Bóson treinamentos
Sql com sql server básico - Bóson treinamentosSql com sql server básico - Bóson treinamentos
Sql com sql server básico - Bóson treinamentos
 
Programação Orientada a Objetos parte 1
Programação Orientada a Objetos parte 1Programação Orientada a Objetos parte 1
Programação Orientada a Objetos parte 1
 
Introdução sobre desenvolvimento web
Introdução sobre desenvolvimento webIntrodução sobre desenvolvimento web
Introdução sobre desenvolvimento web
 
JAVA - Herança
JAVA - HerançaJAVA - Herança
JAVA - Herança
 
POO - 13 - Arrays em Java
POO - 13 - Arrays em JavaPOO - 13 - Arrays em Java
POO - 13 - Arrays em Java
 
Programação Orientada a Objetos
Programação Orientada a ObjetosProgramação Orientada a Objetos
Programação Orientada a Objetos
 
Modelos de ciclo de vida de software
Modelos de ciclo de vida de softwareModelos de ciclo de vida de software
Modelos de ciclo de vida de software
 

Destaque

Introdução à Servlets e JSP
Introdução à Servlets e JSPIntrodução à Servlets e JSP
Introdução à Servlets e JSPledsifes
 
Desenvolvimento web em java com JSP e Servlets
Desenvolvimento web em java com JSP e ServletsDesenvolvimento web em java com JSP e Servlets
Desenvolvimento web em java com JSP e ServletsIgo Coelho
 
Introdução ao Desenvolvimento de aplicações WEB com JSP
Introdução ao Desenvolvimento de aplicações WEB com JSPIntrodução ao Desenvolvimento de aplicações WEB com JSP
Introdução ao Desenvolvimento de aplicações WEB com JSPManoel Afonso
 
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
 
4. Liferay JSP Portlets
4. Liferay JSP Portlets4. Liferay JSP Portlets
4. Liferay JSP PortletsSEA Tecnologia
 

Destaque (13)

Servlets e JSP
Servlets e JSPServlets e JSP
Servlets e JSP
 
Introdução à Servlets e JSP
Introdução à Servlets e JSPIntrodução à Servlets e JSP
Introdução à Servlets e JSP
 
Apresentação JSF
Apresentação JSFApresentação JSF
Apresentação JSF
 
Servlets e jsp
Servlets e jspServlets e jsp
Servlets e jsp
 
jsp-intro
jsp-introjsp-intro
jsp-intro
 
JSP: Etiquetas
JSP: EtiquetasJSP: Etiquetas
JSP: Etiquetas
 
JSP: Introdução Parte 1
JSP: Introdução Parte 1JSP: Introdução Parte 1
JSP: Introdução Parte 1
 
Curso de JSP
Curso de JSPCurso de JSP
Curso de JSP
 
Desenvolvimento web em java com JSP e Servlets
Desenvolvimento web em java com JSP e ServletsDesenvolvimento web em java com JSP e Servlets
Desenvolvimento web em java com JSP e Servlets
 
Introdução ao Desenvolvimento de aplicações WEB com JSP
Introdução ao Desenvolvimento de aplicações WEB com JSPIntrodução ao Desenvolvimento de aplicações WEB com JSP
Introdução ao Desenvolvimento de aplicações WEB com JSP
 
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
 
4. Liferay JSP Portlets
4. Liferay JSP Portlets4. Liferay JSP Portlets
4. Liferay JSP Portlets
 

Semelhante a Servlets e JSP

JSP - Java Serves Pages
JSP - Java Serves PagesJSP - Java Serves Pages
JSP - Java Serves PagesAmanda Luz
 
Engenharia da Computação: Resumo servlet + jsp br galo
Engenharia da Computação: Resumo servlet + jsp br galoEngenharia da Computação: Resumo servlet + jsp br galo
Engenharia da Computação: Resumo servlet + jsp br galoGuilhermePetrosky
 
Java Web Dev Introdução
Java Web Dev IntroduçãoJava Web Dev Introdução
Java Web Dev IntroduçãoMarcio Marinho
 
Servlet jsp tomcat 8
Servlet jsp tomcat 8Servlet jsp tomcat 8
Servlet jsp tomcat 8maxrosan
 
Web Sphere Application Server
Web Sphere Application ServerWeb Sphere Application Server
Web Sphere Application ServerFabricio Carvalho
 
NodeJS - Tutorial de forma simples e pratica.
NodeJS - Tutorial de forma simples e pratica.NodeJS - Tutorial de forma simples e pratica.
NodeJS - Tutorial de forma simples e pratica.Filipe Morelli
 
Sistema S2DG e Tecnologias Web
Sistema S2DG e Tecnologias WebSistema S2DG e Tecnologias Web
Sistema S2DG e Tecnologias WebElenilson Vieira
 
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
 
Java Platform, Enterprise Edition
Java Platform, Enterprise EditionJava Platform, Enterprise Edition
Java Platform, Enterprise EditionDaniel Arndt Alves
 
Mvc model view controller - java para desenvolvimento web
Mvc   model view controller - java para desenvolvimento webMvc   model view controller - java para desenvolvimento web
Mvc model view controller - java para desenvolvimento webValdir Junior
 
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
 
Linguagem PHP para principiantes
Linguagem PHP para principiantesLinguagem PHP para principiantes
Linguagem PHP para principiantesMarco Pinheiro
 

Semelhante a Servlets e JSP (20)

JSP - Java Serves Pages
JSP - Java Serves PagesJSP - Java Serves Pages
JSP - Java Serves Pages
 
Engenharia da Computação: Resumo servlet + jsp br galo
Engenharia da Computação: Resumo servlet + jsp br galoEngenharia da Computação: Resumo servlet + jsp br galo
Engenharia da Computação: Resumo servlet + jsp br galo
 
Web Sphere
Web SphereWeb Sphere
Web Sphere
 
Java Web Dev Introdução
Java Web Dev IntroduçãoJava Web Dev Introdução
Java Web Dev Introdução
 
Servlet jsp tomcat 8
Servlet jsp tomcat 8Servlet jsp tomcat 8
Servlet jsp tomcat 8
 
Java Server Pages
Java Server PagesJava Server Pages
Java Server Pages
 
Jsp+Jdbc+Servlets
Jsp+Jdbc+ServletsJsp+Jdbc+Servlets
Jsp+Jdbc+Servlets
 
teste86940.78038637294
teste86940.78038637294teste86940.78038637294
teste86940.78038637294
 
Java Web 1 Introducao
Java Web 1 IntroducaoJava Web 1 Introducao
Java Web 1 Introducao
 
Web Sphere Application Server
Web Sphere Application ServerWeb Sphere Application Server
Web Sphere Application Server
 
NodeJS - Tutorial de forma simples e pratica.
NodeJS - Tutorial de forma simples e pratica.NodeJS - Tutorial de forma simples e pratica.
NodeJS - Tutorial de forma simples e pratica.
 
Sistema S2DG e Tecnologias Web
Sistema S2DG e Tecnologias WebSistema S2DG e Tecnologias Web
Sistema S2DG e Tecnologias Web
 
Jsf
JsfJsf
Jsf
 
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
 
Java Platform, Enterprise Edition
Java Platform, Enterprise EditionJava Platform, Enterprise Edition
Java Platform, Enterprise Edition
 
Mvc model view controller - java para desenvolvimento web
Mvc   model view controller - java para desenvolvimento webMvc   model view controller - java para desenvolvimento web
Mvc model view controller - java para desenvolvimento web
 
Curso de WebServlets (Java EE 7)
Curso de WebServlets (Java EE 7)Curso de WebServlets (Java EE 7)
Curso de WebServlets (Java EE 7)
 
Linguagem PHP para principiantes
Linguagem PHP para principiantesLinguagem PHP para principiantes
Linguagem PHP para principiantes
 
Palestra Sobre REST
Palestra Sobre RESTPalestra Sobre REST
Palestra Sobre REST
 
Ruby on rails
Ruby on railsRuby on rails
Ruby on rails
 

Mais de Daniel Brandão

Sapiens - Feedback de Prática Docente com Google Forms
Sapiens - Feedback de Prática Docente com Google FormsSapiens - Feedback de Prática Docente com Google Forms
Sapiens - Feedback de Prática Docente com Google FormsDaniel Brandão
 
{Palestra} Criação Web com Frameworks Front-end
{Palestra} Criação Web com Frameworks Front-end{Palestra} Criação Web com Frameworks Front-end
{Palestra} Criação Web com Frameworks Front-endDaniel Brandão
 
PHP Aula 06 - Include, Require e Querystring
PHP Aula 06 - Include, Require e QuerystringPHP Aula 06 - Include, Require e Querystring
PHP Aula 06 - Include, Require e QuerystringDaniel Brandão
 
PHP Aula 05 - E-mails, Cookies e Sessoes
PHP Aula 05 - E-mails, Cookies e SessoesPHP Aula 05 - E-mails, Cookies e Sessoes
PHP Aula 05 - E-mails, Cookies e SessoesDaniel Brandão
 
Aula 04 PHP - Utilizando Funções e Manipulando Arquivos
Aula 04 PHP - Utilizando Funções e Manipulando ArquivosAula 04 PHP - Utilizando Funções e Manipulando Arquivos
Aula 04 PHP - Utilizando Funções e Manipulando ArquivosDaniel Brandão
 
Aula 04 Sistema de Informação - Processo e Requisitos de Sistemas
Aula 04 Sistema de Informação - Processo e Requisitos de SistemasAula 04 Sistema de Informação - Processo e Requisitos de Sistemas
Aula 04 Sistema de Informação - Processo e Requisitos de SistemasDaniel Brandão
 
Aula 3 Sistemas de Informação - Tipos de SI
Aula 3 Sistemas de Informação - Tipos de SIAula 3 Sistemas de Informação - Tipos de SI
Aula 3 Sistemas de Informação - Tipos de SIDaniel Brandão
 
Aula03 PHP - Estruturas Condicionais
Aula03 PHP - Estruturas CondicionaisAula03 PHP - Estruturas Condicionais
Aula03 PHP - Estruturas CondicionaisDaniel Brandão
 
Aula 02 - Sistemas, Dados, Informação
Aula 02 - Sistemas, Dados, InformaçãoAula 02 - Sistemas, Dados, Informação
Aula 02 - Sistemas, Dados, InformaçãoDaniel Brandão
 
Aula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHPAula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHPDaniel Brandão
 
Aula 1 - Programação Dinâmica para Web
Aula 1 - Programação Dinâmica para WebAula 1 - Programação Dinâmica para Web
Aula 1 - Programação Dinâmica para WebDaniel Brandão
 
Aula 01 - Introdução ao Sistema de Informação
Aula 01 - Introdução ao Sistema de InformaçãoAula 01 - Introdução ao Sistema de Informação
Aula 01 - Introdução ao Sistema de InformaçãoDaniel Brandão
 
Introdução à informática
Introdução à informáticaIntrodução à informática
Introdução à informáticaDaniel Brandão
 
Encapsulamento em Orientação a Objetos
Encapsulamento em Orientação a ObjetosEncapsulamento em Orientação a Objetos
Encapsulamento em Orientação a ObjetosDaniel Brandão
 
Palestra - Profissão: Desenvolvedor
Palestra - Profissão: DesenvolvedorPalestra - Profissão: Desenvolvedor
Palestra - Profissão: DesenvolvedorDaniel Brandão
 
Fórmulas Condicionais em Excel
Fórmulas Condicionais em ExcelFórmulas Condicionais em Excel
Fórmulas Condicionais em ExcelDaniel Brandão
 
Aula 03 - Definições da linguagem Java
Aula 03 - Definições da linguagem JavaAula 03 - Definições da linguagem Java
Aula 03 - Definições da linguagem JavaDaniel Brandão
 
Excel - Fórmulas Básicas
Excel -  Fórmulas BásicasExcel -  Fórmulas Básicas
Excel - Fórmulas BásicasDaniel Brandão
 
Incluir para evoluir - Palestra
Incluir para evoluir - PalestraIncluir para evoluir - Palestra
Incluir para evoluir - PalestraDaniel Brandão
 
Criação Web com Bootstrap e Material Design
Criação Web com Bootstrap e Material DesignCriação Web com Bootstrap e Material Design
Criação Web com Bootstrap e Material DesignDaniel Brandão
 

Mais de Daniel Brandão (20)

Sapiens - Feedback de Prática Docente com Google Forms
Sapiens - Feedback de Prática Docente com Google FormsSapiens - Feedback de Prática Docente com Google Forms
Sapiens - Feedback de Prática Docente com Google Forms
 
{Palestra} Criação Web com Frameworks Front-end
{Palestra} Criação Web com Frameworks Front-end{Palestra} Criação Web com Frameworks Front-end
{Palestra} Criação Web com Frameworks Front-end
 
PHP Aula 06 - Include, Require e Querystring
PHP Aula 06 - Include, Require e QuerystringPHP Aula 06 - Include, Require e Querystring
PHP Aula 06 - Include, Require e Querystring
 
PHP Aula 05 - E-mails, Cookies e Sessoes
PHP Aula 05 - E-mails, Cookies e SessoesPHP Aula 05 - E-mails, Cookies e Sessoes
PHP Aula 05 - E-mails, Cookies e Sessoes
 
Aula 04 PHP - Utilizando Funções e Manipulando Arquivos
Aula 04 PHP - Utilizando Funções e Manipulando ArquivosAula 04 PHP - Utilizando Funções e Manipulando Arquivos
Aula 04 PHP - Utilizando Funções e Manipulando Arquivos
 
Aula 04 Sistema de Informação - Processo e Requisitos de Sistemas
Aula 04 Sistema de Informação - Processo e Requisitos de SistemasAula 04 Sistema de Informação - Processo e Requisitos de Sistemas
Aula 04 Sistema de Informação - Processo e Requisitos de Sistemas
 
Aula 3 Sistemas de Informação - Tipos de SI
Aula 3 Sistemas de Informação - Tipos de SIAula 3 Sistemas de Informação - Tipos de SI
Aula 3 Sistemas de Informação - Tipos de SI
 
Aula03 PHP - Estruturas Condicionais
Aula03 PHP - Estruturas CondicionaisAula03 PHP - Estruturas Condicionais
Aula03 PHP - Estruturas Condicionais
 
Aula 02 - Sistemas, Dados, Informação
Aula 02 - Sistemas, Dados, InformaçãoAula 02 - Sistemas, Dados, Informação
Aula 02 - Sistemas, Dados, Informação
 
Aula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHPAula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHP
 
Aula 1 - Programação Dinâmica para Web
Aula 1 - Programação Dinâmica para WebAula 1 - Programação Dinâmica para Web
Aula 1 - Programação Dinâmica para Web
 
Aula 01 - Introdução ao Sistema de Informação
Aula 01 - Introdução ao Sistema de InformaçãoAula 01 - Introdução ao Sistema de Informação
Aula 01 - Introdução ao Sistema de Informação
 
Introdução à informática
Introdução à informáticaIntrodução à informática
Introdução à informática
 
Encapsulamento em Orientação a Objetos
Encapsulamento em Orientação a ObjetosEncapsulamento em Orientação a Objetos
Encapsulamento em Orientação a Objetos
 
Palestra - Profissão: Desenvolvedor
Palestra - Profissão: DesenvolvedorPalestra - Profissão: Desenvolvedor
Palestra - Profissão: Desenvolvedor
 
Fórmulas Condicionais em Excel
Fórmulas Condicionais em ExcelFórmulas Condicionais em Excel
Fórmulas Condicionais em Excel
 
Aula 03 - Definições da linguagem Java
Aula 03 - Definições da linguagem JavaAula 03 - Definições da linguagem Java
Aula 03 - Definições da linguagem Java
 
Excel - Fórmulas Básicas
Excel -  Fórmulas BásicasExcel -  Fórmulas Básicas
Excel - Fórmulas Básicas
 
Incluir para evoluir - Palestra
Incluir para evoluir - PalestraIncluir para evoluir - Palestra
Incluir para evoluir - Palestra
 
Criação Web com Bootstrap e Material Design
Criação Web com Bootstrap e Material DesignCriação Web com Bootstrap e Material Design
Criação Web com Bootstrap e Material Design
 

Servlets e JSP

  • 1. Professor Daniel Brandão 1 ENTENDENDO SERVLETS E JSP
  • 2. 1. Introdução aos Servlets 2. Requisições em Servlets 3. Ciclo de vida 4. JSP – JavaServer Pages 5. Scriptlet 6. Resumo e Revisão 2 DO QUE TRATAREMOS:
  • 4. Páginas dinâmicas:  Quando a Web surgiu, seu objetivo era a troca de conteúdos através de páginas HTML estáticas.  Imagens, animações e outros conteúdos também eram disponibilizados.  Era pouco para o potencial da web. Era preciso páginas HTML geradas dinamicamente baseadas nas requisições dos usuários. 4 1. INTRODUÇÃO AOS SERVLETS
  • 5.  Criou-se a ideia de “geradores dinâmicos”. Servidores web consultando outros arquivos com conteúdos (CGI).  Em Java, surgiu então Servlet em 1997. Pequeno servidor com objetivo de receber chamadas HTTP, processar e devolver uma resposta.  Seguindo o conceito POO, servlets são objetos Java que recebem requisições (request) e produzem algo (response), como uma página HTML por ex. 5 1. INTRODUÇÃO AOS SERVLETS
  • 7.  Para escrevermos uma servlet, criamos uma classe Java que estenda HttpServlet e sobrescreva um método chamado service. Esse método será o responsável por atender requisições e gerar as respostas adequadas. 7 2. REQUISIÇÕES EM SERVLETS
  • 8.  Para escrevermos uma servlet, criamos uma classe Java que estenda HttpServlet e sobrescreva um método chamado service. Esse método será o responsável por atender requisições e gerar as respostas adequadas.  EX: protected void service (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { ... } 8 2. REQUISIÇÕES EM SERVLETS
  • 9.  Ao desenvolver uma aplicação Web, sempre precisamos realizar operações no lado do servidor, com dados informados pelo usuário, seja através de formulários ou seja através da URL.  Como exemplo, podemos ter uma página HTML com um formulário de contato a ser salvo em um banco de dados. 9 2.1 PARÂMETROS NAS REQUISIÇÕES
  • 10.  EX: Formulário Adiciona Contato 10 2.1 PARÂMETROS NAS REQUISIÇÕES
  • 11.  EX: Servlet 11 2.1 PARÂMETROS NAS REQUISIÇÕES
  • 12. 12 2.1 PARÂMETROS NAS REQUISIÇÕES
  • 13. 13 3. CICLO DE VIDA SERVLETS
  • 14. 14 3. CICLO DE VIDA SERVLETS
  • 15. 15 4. JSP – JAVA SERVER PAGES
  • 16.  JSP é uma tecnologia padrão, baseada em templates para servlets. O mecanismo que a traduz é embutido no servidor 16 4. JSP – JAVA SERVER PAGES
  • 17.  JSP é uma tecnologia padrão, baseada em templates para servlets. O mecanismo que a traduz é embutido no servidor  Em um servidor que suporta JSP, o processamento passa por uma camada adicional onde a página é transformada (compilada) em um servlet 17 4. JSP – JAVA SERVER PAGES
  • 18.  JSP é uma tecnologia padrão, baseada em templates para servlets. O mecanismo que a traduz é embutido no servidor  Em um servidor que suporta JSP, o processamento passa por uma camada adicional onde a página é transformada (compilada) em um servlet  Trata-se, portanto, de um arquivo baseado em HTML mas salvo em formato .JSP 18 4. JSP – JAVA SERVER PAGES
  • 19. 19 4. JSP – FUNCIONAMENTO
  • 20.  EX: Trecho de código contendo tags HTML e bloco de códigos (scriptlets) e expressões 20 4. JSP – JAVASERVER PAGES
  • 22.  Scriptlet é o código escrito entre <% e %>. São Blocos de código executados sempre que uma página JSP é processada. 22 4. SCRIPTLET
  • 23.  Scriptlet é o código escrito entre <% e %>. São Blocos de código executados sempre que uma página JSP é processada.  Esse nome é composto da palavra script (pedaço de código em linguagem de programação) com o sufixo let, que indica algo pequeno. 23 4. SCRIPTLET
  • 24.  Scriptlet é o código escrito entre <% e %>. São Blocos de código executados sempre que uma página JSP é processada.  Esse nome é composto da palavra script (pedaço de código em linguagem de programação) com o sufixo let, que indica algo pequeno.  O sufixo “let” é bastamte utilizado na linguagem Java, tanto em scriptlets como em servlets, portlets, applets etc... 24 4. SCRIPTLET
  • 25.  Sintaxe dos elementos interpretados no servidor:  Diretivas: <%@ ... %>  Declarações: <%! ... %>  Expressões: <%= ... %>  Scriptlets: <% ... %>  Comentários: <%-- ... --%>  Ações: <jsp:ação... />  Custom tags: <prefixo:elemento... /> 25 4. SCRIPTLET
  • 27.  Servlet x JSP Servlets:  Melhor em termos de Eng. Software  Mais flexível  Praticamente não permite independência entre o designer e o programador 27 6. REVISÃO
  • 28.  Servlet x JSP JSP:  Mais fácil de aprender  Um nível maior de abstração para o Servlets  O Web Designer pode trabalhar independente do Web Developer e vice-versa 28 6. REVISÃO
  • 29. Os JSPs são transformados em uma Servlet, por um compilador JSP. Esse compilador pode gerar um código Java que é então compilado para gerar bytecode diretamente para a servlet 29 6. REVISÃO
  • 30.  Ciclo de vida 30 6. REVISÃO
  • 31.  Comentários em JSP 31 6. REVISÃO
  • 32.  Segurança. Na prática são usados quatro métodos:  1. Nas páginas que só devam ser acessadas após o Login do usuário, informação na sessão  2. Verificar de onde o usuário veio e só permitir o acesso a partir de elementos do próprio site  3. Verificar código malicioso nos campos onde o usuário insere informações  4. Verificar variáveis que compõe instrução SQL antes de enviá-la ao SGBD 32 6. REVISÃO
  • 33. 33 Dúvidas? Obrigado pela atenção! + em www.DanielBrandao.com.br