Servlets e JSP Desenvolvimento de Aplicações Web PROFA. MSC. CINTIA CARVALHO OLIVEIRA DOUTORANDA...
Transcript of Servlets e JSP Desenvolvimento de Aplicações Web PROFA. MSC. CINTIA CARVALHO OLIVEIRA DOUTORANDA...
![Page 1: Servlets e JSP Desenvolvimento de Aplicações Web PROFA. MSC. CINTIA CARVALHO OLIVEIRA DOUTORANDA EM CIÊNCIA DA COMPUTAÇÃO – UFU MESTRE EM CIÊNCIA DA COMPUTAÇÃO.](https://reader035.fdocuments.net/reader035/viewer/2022062404/552fc15f497959413d8e7925/html5/thumbnails/1.jpg)
Servlets e JSPDesenvolvimento de Aplicações WebPROFA. MSC. CINTIA CARVALHO OLIVEIRA
DOUTORANDA EM CIÊNCIA DA COMPUTAÇÃO – UFU
MESTRE EM CIÊNCIA DA COMPUTAÇÃO – UFU
BACHAREL EM CIÊNCIA DA COMPUTAÇÃO - UFJF
![Page 2: Servlets e JSP Desenvolvimento de Aplicações Web PROFA. MSC. CINTIA CARVALHO OLIVEIRA DOUTORANDA EM CIÊNCIA DA COMPUTAÇÃO – UFU MESTRE EM CIÊNCIA DA COMPUTAÇÃO.](https://reader035.fdocuments.net/reader035/viewer/2022062404/552fc15f497959413d8e7925/html5/thumbnails/2.jpg)
Java EE◦O Java EE (Java Enterprise Edition) consiste de uma série de especificações bem detalhadas para prover uma infraestrutura para o desenvolvimento de sistemas Web.
◦Usa um modelo de aplicação multi-camadas distribuídas ou multi-tier.
![Page 3: Servlets e JSP Desenvolvimento de Aplicações Web PROFA. MSC. CINTIA CARVALHO OLIVEIRA DOUTORANDA EM CIÊNCIA DA COMPUTAÇÃO – UFU MESTRE EM CIÊNCIA DA COMPUTAÇÃO.](https://reader035.fdocuments.net/reader035/viewer/2022062404/552fc15f497959413d8e7925/html5/thumbnails/3.jpg)
Especificações do Java EE◦ JavaServer Pages (JSP), Java Servlets, Java Server Faces (JSF) – trabalhar para a
Web◦ Enterprise Javabeans Components (EJBs) e Java Persistence API (JPA) – objetos
distribuídos, clusters, acesso remoto a objetos, etc)◦ Java API for XML Web Services (JAX-WS), Java API form XML Binding (JAX-B) –
trabalhar com arquivos .xml e webservices.◦ Java Autenthication and Authorization Service (JAAS) – API padrão do Java
para segurança◦ Java Transaction API (JTA) – Controle de Transação no Contêiner◦ Java Message Service (JMS) – troca de mensagens assíncronas◦ Java Naming and Directory Interface (JNDI) – espaço de nomes e objetos◦ Java Management Extensions (JMX) – administração da aplicação e estatística
![Page 4: Servlets e JSP Desenvolvimento de Aplicações Web PROFA. MSC. CINTIA CARVALHO OLIVEIRA DOUTORANDA EM CIÊNCIA DA COMPUTAÇÃO – UFU MESTRE EM CIÊNCIA DA COMPUTAÇÃO.](https://reader035.fdocuments.net/reader035/viewer/2022062404/552fc15f497959413d8e7925/html5/thumbnails/4.jpg)
Exemplo de Aplicação Multi-Camadas◦ Camada de Apresentação (navegador)◦ Camada Lógica de Negócio (aplicação que reside no servidor Web)◦ Camada de Armazenamento (o banco de dados com os dados da
aplicação)
◦ As camadas estão separadas, podem inclusive estarem hospedadas em computadores diferentes.
![Page 5: Servlets e JSP Desenvolvimento de Aplicações Web PROFA. MSC. CINTIA CARVALHO OLIVEIRA DOUTORANDA EM CIÊNCIA DA COMPUTAÇÃO – UFU MESTRE EM CIÊNCIA DA COMPUTAÇÃO.](https://reader035.fdocuments.net/reader035/viewer/2022062404/552fc15f497959413d8e7925/html5/thumbnails/5.jpg)
Servlets◦Resposta primária do Java para adicionar funcionalidades aos servidores.
◦Ler dados contidos nas requisições passadas ao servidor e gerar uma resposta dinâmica.
◦São classes Java.◦Produzem saída imprimindo caracter como cadeias no fluxo de saída, neste caso a resposta HTTP.
![Page 6: Servlets e JSP Desenvolvimento de Aplicações Web PROFA. MSC. CINTIA CARVALHO OLIVEIRA DOUTORANDA EM CIÊNCIA DA COMPUTAÇÃO – UFU MESTRE EM CIÊNCIA DA COMPUTAÇÃO.](https://reader035.fdocuments.net/reader035/viewer/2022062404/552fc15f497959413d8e7925/html5/thumbnails/6.jpg)
Index.jsp
![Page 7: Servlets e JSP Desenvolvimento de Aplicações Web PROFA. MSC. CINTIA CARVALHO OLIVEIRA DOUTORANDA EM CIÊNCIA DA COMPUTAÇÃO – UFU MESTRE EM CIÊNCIA DA COMPUTAÇÃO.](https://reader035.fdocuments.net/reader035/viewer/2022062404/552fc15f497959413d8e7925/html5/thumbnails/7.jpg)
ConnectionFactory
![Page 8: Servlets e JSP Desenvolvimento de Aplicações Web PROFA. MSC. CINTIA CARVALHO OLIVEIRA DOUTORANDA EM CIÊNCIA DA COMPUTAÇÃO – UFU MESTRE EM CIÊNCIA DA COMPUTAÇÃO.](https://reader035.fdocuments.net/reader035/viewer/2022062404/552fc15f497959413d8e7925/html5/thumbnails/8.jpg)
Nova Tabela - Usuario
![Page 9: Servlets e JSP Desenvolvimento de Aplicações Web PROFA. MSC. CINTIA CARVALHO OLIVEIRA DOUTORANDA EM CIÊNCIA DA COMPUTAÇÃO – UFU MESTRE EM CIÊNCIA DA COMPUTAÇÃO.](https://reader035.fdocuments.net/reader035/viewer/2022062404/552fc15f497959413d8e7925/html5/thumbnails/9.jpg)
Usuário - javabean
![Page 10: Servlets e JSP Desenvolvimento de Aplicações Web PROFA. MSC. CINTIA CARVALHO OLIVEIRA DOUTORANDA EM CIÊNCIA DA COMPUTAÇÃO – UFU MESTRE EM CIÊNCIA DA COMPUTAÇÃO.](https://reader035.fdocuments.net/reader035/viewer/2022062404/552fc15f497959413d8e7925/html5/thumbnails/10.jpg)
Organização do projeto
![Page 11: Servlets e JSP Desenvolvimento de Aplicações Web PROFA. MSC. CINTIA CARVALHO OLIVEIRA DOUTORANDA EM CIÊNCIA DA COMPUTAÇÃO – UFU MESTRE EM CIÊNCIA DA COMPUTAÇÃO.](https://reader035.fdocuments.net/reader035/viewer/2022062404/552fc15f497959413d8e7925/html5/thumbnails/11.jpg)
UsuarioDAO
![Page 12: Servlets e JSP Desenvolvimento de Aplicações Web PROFA. MSC. CINTIA CARVALHO OLIVEIRA DOUTORANDA EM CIÊNCIA DA COMPUTAÇÃO – UFU MESTRE EM CIÊNCIA DA COMPUTAÇÃO.](https://reader035.fdocuments.net/reader035/viewer/2022062404/552fc15f497959413d8e7925/html5/thumbnails/12.jpg)
UsuarioDAO
![Page 13: Servlets e JSP Desenvolvimento de Aplicações Web PROFA. MSC. CINTIA CARVALHO OLIVEIRA DOUTORANDA EM CIÊNCIA DA COMPUTAÇÃO – UFU MESTRE EM CIÊNCIA DA COMPUTAÇÃO.](https://reader035.fdocuments.net/reader035/viewer/2022062404/552fc15f497959413d8e7925/html5/thumbnails/13.jpg)
Criando um Servlet Com o botão da direita no pacote clique em Novo -> Sevlet.
![Page 14: Servlets e JSP Desenvolvimento de Aplicações Web PROFA. MSC. CINTIA CARVALHO OLIVEIRA DOUTORANDA EM CIÊNCIA DA COMPUTAÇÃO – UFU MESTRE EM CIÊNCIA DA COMPUTAÇÃO.](https://reader035.fdocuments.net/reader035/viewer/2022062404/552fc15f497959413d8e7925/html5/thumbnails/14.jpg)
Importante: marque a opção Adicionar informação ao descritor de implementação (web.xml). Esse passo registra o servlet, assim ele ficará visível no servidor. Sem marcar essa opção na janela teremos que registrar o Servlet manualmente. Depois clique em finalizar.
![Page 15: Servlets e JSP Desenvolvimento de Aplicações Web PROFA. MSC. CINTIA CARVALHO OLIVEIRA DOUTORANDA EM CIÊNCIA DA COMPUTAÇÃO – UFU MESTRE EM CIÊNCIA DA COMPUTAÇÃO.](https://reader035.fdocuments.net/reader035/viewer/2022062404/552fc15f497959413d8e7925/html5/thumbnails/15.jpg)
Criando o controle do login Dentro do Servlet procure os métodos doGet e doPost, eles são acessados dependendo do tipo de método de envio de arquivo foi feito.
Se <form action=“servlet” method=“get”> o método a ser executado será doGet no Servlet
Se <form action=“servlet” method=“post”> o método a ser executado será doPost
Na criação do Servlet a estrutura da classe já vem montada. Ambos os métodos, doGet e doPost apontam para o método processRequest.
![Page 16: Servlets e JSP Desenvolvimento de Aplicações Web PROFA. MSC. CINTIA CARVALHO OLIVEIRA DOUTORANDA EM CIÊNCIA DA COMPUTAÇÃO – UFU MESTRE EM CIÊNCIA DA COMPUTAÇÃO.](https://reader035.fdocuments.net/reader035/viewer/2022062404/552fc15f497959413d8e7925/html5/thumbnails/16.jpg)
![Page 17: Servlets e JSP Desenvolvimento de Aplicações Web PROFA. MSC. CINTIA CARVALHO OLIVEIRA DOUTORANDA EM CIÊNCIA DA COMPUTAÇÃO – UFU MESTRE EM CIÊNCIA DA COMPUTAÇÃO.](https://reader035.fdocuments.net/reader035/viewer/2022062404/552fc15f497959413d8e7925/html5/thumbnails/17.jpg)
Execução Execute o projeto e fazendo login com o usuário que você registrou. Se ele reconhecer dará um ERRO, pois ele tentará exibir a página /menu.jsp, mas não a criamos ainda. Se ele não reconhecer o login dará um ERRO pois ele tentará exibir a página /erro.jsp.
![Page 18: Servlets e JSP Desenvolvimento de Aplicações Web PROFA. MSC. CINTIA CARVALHO OLIVEIRA DOUTORANDA EM CIÊNCIA DA COMPUTAÇÃO – UFU MESTRE EM CIÊNCIA DA COMPUTAÇÃO.](https://reader035.fdocuments.net/reader035/viewer/2022062404/552fc15f497959413d8e7925/html5/thumbnails/18.jpg)
Linhas Semântica
36 e 37 Criação do objeto Usuario que será preenchido com o login e senha recebidos do formulário. O objeto dao possui o método de login, ele precisa de um objeto usuário para executar.
39 e 40 Recepção das variáveis, que vem junto com o objeto Requisição
44 Execução do método dao.logar(us), receberá true caso o usuário esteja registrado e false caso contrário.
45 e 46 Registro de uma variável de sessão chamada login que conterá o login do usuário
47 O algoritmo irá abrir a página menu.jsp
48 O algoritmo passará para a página menu.jsp as informações de Requisição e Resposta
52 Como o login deu errado o algoritmo invalida a sessão
53 O algoritmo irá abrir a página erro.jsp
![Page 19: Servlets e JSP Desenvolvimento de Aplicações Web PROFA. MSC. CINTIA CARVALHO OLIVEIRA DOUTORANDA EM CIÊNCIA DA COMPUTAÇÃO – UFU MESTRE EM CIÊNCIA DA COMPUTAÇÃO.](https://reader035.fdocuments.net/reader035/viewer/2022062404/552fc15f497959413d8e7925/html5/thumbnails/19.jpg)
menu.jsp
![Page 20: Servlets e JSP Desenvolvimento de Aplicações Web PROFA. MSC. CINTIA CARVALHO OLIVEIRA DOUTORANDA EM CIÊNCIA DA COMPUTAÇÃO – UFU MESTRE EM CIÊNCIA DA COMPUTAÇÃO.](https://reader035.fdocuments.net/reader035/viewer/2022062404/552fc15f497959413d8e7925/html5/thumbnails/20.jpg)
lista.jsp
![Page 21: Servlets e JSP Desenvolvimento de Aplicações Web PROFA. MSC. CINTIA CARVALHO OLIVEIRA DOUTORANDA EM CIÊNCIA DA COMPUTAÇÃO – UFU MESTRE EM CIÊNCIA DA COMPUTAÇÃO.](https://reader035.fdocuments.net/reader035/viewer/2022062404/552fc15f497959413d8e7925/html5/thumbnails/21.jpg)
Melhorando....
![Page 22: Servlets e JSP Desenvolvimento de Aplicações Web PROFA. MSC. CINTIA CARVALHO OLIVEIRA DOUTORANDA EM CIÊNCIA DA COMPUTAÇÃO – UFU MESTRE EM CIÊNCIA DA COMPUTAÇÃO.](https://reader035.fdocuments.net/reader035/viewer/2022062404/552fc15f497959413d8e7925/html5/thumbnails/22.jpg)
cadastrar.jsp Crie um arquivo chamado cadastrar.jsp dentro da pasta “Páginas Web”. Deverá ter a seguinte aparência:
![Page 23: Servlets e JSP Desenvolvimento de Aplicações Web PROFA. MSC. CINTIA CARVALHO OLIVEIRA DOUTORANDA EM CIÊNCIA DA COMPUTAÇÃO – UFU MESTRE EM CIÊNCIA DA COMPUTAÇÃO.](https://reader035.fdocuments.net/reader035/viewer/2022062404/552fc15f497959413d8e7925/html5/thumbnails/23.jpg)
![Page 24: Servlets e JSP Desenvolvimento de Aplicações Web PROFA. MSC. CINTIA CARVALHO OLIVEIRA DOUTORANDA EM CIÊNCIA DA COMPUTAÇÃO – UFU MESTRE EM CIÊNCIA DA COMPUTAÇÃO.](https://reader035.fdocuments.net/reader035/viewer/2022062404/552fc15f497959413d8e7925/html5/thumbnails/24.jpg)
Servlet CadastroProduto
![Page 25: Servlets e JSP Desenvolvimento de Aplicações Web PROFA. MSC. CINTIA CARVALHO OLIVEIRA DOUTORANDA EM CIÊNCIA DA COMPUTAÇÃO – UFU MESTRE EM CIÊNCIA DA COMPUTAÇÃO.](https://reader035.fdocuments.net/reader035/viewer/2022062404/552fc15f497959413d8e7925/html5/thumbnails/25.jpg)
Servlet AlterarProduto O Servlet AlterarProduto pega os dados do produto para preencher o formulário. Assim com o formulário e os dados preenchidos o usuários poderá modificar a informação desejada.
![Page 26: Servlets e JSP Desenvolvimento de Aplicações Web PROFA. MSC. CINTIA CARVALHO OLIVEIRA DOUTORANDA EM CIÊNCIA DA COMPUTAÇÃO – UFU MESTRE EM CIÊNCIA DA COMPUTAÇÃO.](https://reader035.fdocuments.net/reader035/viewer/2022062404/552fc15f497959413d8e7925/html5/thumbnails/26.jpg)
Na linha 39 do processRequest da imagem anterior colocamos dentro do objeto request o nosso objeto Produto preenchido com os dados do produto, perceba que utilizamos o método setAttribute. O primeiro argumento de setAttribute é como o atributo será chamado e o segundo argumento é a informação que será enviada com o nome do primeiro argumento. O nome do atributo servirá para referenciá-lo. Percebam que utilizamos um método chamado buscar do ProdutoDAO (linha 38) que recebe como parâmetro o id do produto e retorno um objeto do tipo Produto, então crie esse método dentro de ProdutoDAO.
![Page 27: Servlets e JSP Desenvolvimento de Aplicações Web PROFA. MSC. CINTIA CARVALHO OLIVEIRA DOUTORANDA EM CIÊNCIA DA COMPUTAÇÃO – UFU MESTRE EM CIÊNCIA DA COMPUTAÇÃO.](https://reader035.fdocuments.net/reader035/viewer/2022062404/552fc15f497959413d8e7925/html5/thumbnails/27.jpg)
alterar.jsp
![Page 28: Servlets e JSP Desenvolvimento de Aplicações Web PROFA. MSC. CINTIA CARVALHO OLIVEIRA DOUTORANDA EM CIÊNCIA DA COMPUTAÇÃO – UFU MESTRE EM CIÊNCIA DA COMPUTAÇÃO.](https://reader035.fdocuments.net/reader035/viewer/2022062404/552fc15f497959413d8e7925/html5/thumbnails/28.jpg)
Observações A linha 19 é importante, nela colocamos o id do produto, que será utilizado no servlet AlterarProduto2 para identificar o produto que terá sua informação modificada.
![Page 29: Servlets e JSP Desenvolvimento de Aplicações Web PROFA. MSC. CINTIA CARVALHO OLIVEIRA DOUTORANDA EM CIÊNCIA DA COMPUTAÇÃO – UFU MESTRE EM CIÊNCIA DA COMPUTAÇÃO.](https://reader035.fdocuments.net/reader035/viewer/2022062404/552fc15f497959413d8e7925/html5/thumbnails/29.jpg)
Agora é com você1. Com base no que vimos até aqui crie o servlet
AlterarProduto2 que irá pegar os dados do formulário alterar.jsp e alterar a informação correspondente ao campo id do formulário alterar.jsp.
2. Com base no que vimos crie o servlet ExcluirProduto, lembre-se de solicitar confirmação de exclusão antes de excluir o produto.
![Page 30: Servlets e JSP Desenvolvimento de Aplicações Web PROFA. MSC. CINTIA CARVALHO OLIVEIRA DOUTORANDA EM CIÊNCIA DA COMPUTAÇÃO – UFU MESTRE EM CIÊNCIA DA COMPUTAÇÃO.](https://reader035.fdocuments.net/reader035/viewer/2022062404/552fc15f497959413d8e7925/html5/thumbnails/30.jpg)
Seu Projeto1. Qual a sua ideia para o projeto final da disciplina?
2. Elabore-a criando o DER, Diagrama de Caso de Uso, Diagrama de Classe e o Design Gráfico da Página principal.
3. A partir do Diagrama de Caso de Uso implemente as classes.
4. Crie as classes DAO.
5. Crie o HTML a partir do Design Gráfico.