servlets e jsp desenvolvimento de aplicações web profa. msc. cintia carvalho oliveira doutoranda...

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 – UFU BACHAREL EM CIÊNCIA DA COMPUTAÇÃO - UFJF

Upload: internet

Post on 22-Apr-2015

108 views

Category:

Documents


0 download

TRANSCRIPT

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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
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

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

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

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

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

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

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
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

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

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

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

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

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

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

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.