A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

JSP JavaServer Pages Marco Antonio, Arquiteto de Software – TJDF Dezembro/2005.

Apresentações semelhantes


Apresentação em tema: "JSP JavaServer Pages Marco Antonio, Arquiteto de Software – TJDF Dezembro/2005."— Transcrição da apresentação:

1 JSP JavaServer Pages Marco Antonio, Arquiteto de Software – TJDF ma@marcoreis.eti.br Dezembro/2005

2 Java Server Pages Tecnologia que permite a criação de páginas html dinâmicas com código Java. As páginas devem ter a extensão “.jsp”. Usada apenas para criação das telas para o sistema. Limitado aos componentes html. Permite a utilização de código Java, por isso, é essencial que se observe as melhores práticas de programação.

3 Conteúdo estático e dinâmico Estático –Tipicamente uma página HTML. –Mesma visualização para todo mundo. Dinâmico –Conteúdo gerado baseado em condições. –Varia de acordo com o usuário, o dia ou até mesmo as opções escolhidas nos formulários.

4 Scriptlet A Sun possui a mania de colocar o sufixo 'let' em muitas tecnologias (servlet, scriplet, portlet). Permite que se escreva código Java dentro da sua JSP. Escreva seu código Java entre as tags.

5 JSP x Servlets JSP é utilizado apenas para apresentação das informações para um usuário final. Servlet é, geralmente, utilizado para fazer redirecionamento de páginas, filtragem de dados, validação de campos, etc. Várias tecnologias surgem a cada dia para ajudar no desenvolvimento de aplicações. Todas utilizam JSP/Servlets, que é o ponto inicial de toda aplicação web.

6

7

8

9

10 AloMundo.jsp Alô mundo, JSP

11 Rode a página Com o botão direito sobre a página, selecione a opção Run as... -> Run on Server.

12 O que é JSP Documento baseado em texto que pode retornar conteúdo estático ou dinâmico. Conteúdo estático é representado por código HTML. O conteúdo dinâmico é gerado pelo código java. A sua página JSP é transformada automaticamente em servlet pelo container.

13 Benefícios do JSP

14 Objetos implícitos Uma página JSP tem acesso a certos objetos que estão sempre disponíveis.

15

16 Estrutura da aplicação Vamos analisar a estrutura de diretórios da nossa aplicação. No projeto SistemaBancarioWeb deve existir um diretório WEB-INF com um arquivo chamado web.xml e com os subdiretórios classes e lib. classes: coloque aqui as classes necessárias. lib: coloque aqui os arquivos.jar que sua aplicação necessita. O Tomcat trata de forma semelhante o conteúdo dos diretórios classes e lib. O diretório work é gerado pelo Tomcat. Dentro dele fica o bytecode das páginas JSP. Crie aqui todas as páginas web!!!

17 Contexto Cada aplicação é um contexto, com suas configurações privadas. Quando você tem várias aplicações, cada uma é um mundo diferente, não existe nenhuma integração do ponto de vista do servidor web (Tomcat). As bibliotecas que são comuns podem ser compartilhadas, mas isso não é regra.

18 PrimeiraPagina.jsp 1. 2. Primeira página JSP 3. 4.

19 Passo-a-passo Linha 1: abre o código HTML. Linha 2: título da página. Linha 3: imprime na saída padrão (browser) a frase Primeira Página JSP. Linha 4: finaliza o código.

20 Objetos implícitos Para ganhar acesso a variáveis cruciais, como parâmetros HTTP, sessões, cookies, etc. as páginas precisam interagir com o servidor web em que estão sendo executadas. Todos esses objetos podem ser acessados a qualquer momento em um arquivo JSP (ou até mesmo em um Servlet).

21 Principais objetos implícitos request – consulta informações de solicitações, como parâmetros do formulário. response – manipula a resposta a uma solicitação. session – acessa informações de uma sessão específica do usuário. application – acessa informações compartilhadas de uma aplicação. out – imprime informações na página de saída.

22 SegundaPagina.jsp JSP Expressions Data atual: Dados do servidor: ID da Sessão:

23 Passagem de parâmetros get: a passagem de parâmetros se dá através da url. Tem limite de tamanho e os dados aparecem na tela para o usuário. post: a passagem de parâmetros se dá através do request HTML. Os dados não aparecem para o usuário, apesar disso, não existe nenhuma segurança nesse transporte.

24 Estilo.css A folha de estilos está no link: http://www.marcoreis.net/css/Estilo.css. http://www.marcoreis.net/css/Estilo.css Copie esse arquivo para o diretório css do seu projeto. Obs: a folha de estilos tem como única finalidade deixar a aplicação mais agradável para o usuário.

25 BemVindo.jsp Sistema Bancário Bem-vindo ao Sistema Bancário Cadastro de Gerentes Consulta Gerentes

26 BemVindo.jsp Tela inicial do sistema. Tem apenas os links (menu) para as funcionalidades do SistemaBancario.

27 CadastroDeGerente.jsp Cadastro de Gerente Cadastro de Gerente Nome: Endereço

28 CadastroDeGerente.jsp Telefone

29 CadastroDeGerente.jsp A tela de cadastro de gerente deve ter todos os campos da classe Gerente, também chamada de JavaBean. Atenção: a chave-primária é automática, por isso não precisamos de um campo de texto para ela.

30 CadastroDeGerente.jsp Essa tela captura as informações que o usuário digitou e as repassa para a página seguinte (CadatroDeGerenteAction.jsp) tratar. Nesse exemplo utilizamos uma caixa de texto (input type=”text”). Em outras situações podem ser utilizados vários outros como caixas de combinação, botões de checagem, áreas de texto.

31 CadastroDeGerenteAction.jsp Cadastro de Gerente Cadastro de Gerente <% DAOGerente daoGerente = new DAOGerente(); Gerente g = new Gerente(); g.setNome(request.getParameter("nome")); g.setEndereco(request.getParameter("endereco")); g.setTelefone(request.getParameter("telefone")); daoGerente.inserir(g); out.println("Registro inserido com sucesso"); %>

32 CadastroDeGerenteAction.jsp Essa tela recebe os parâmetros da requisição e faz as atribuições no objeto gerente. No topo da página você verifica que dois pacotes foram importados. Lembre-se: as classes que precisamos nessa tela estão em outro pacote! Parâmetros da requisição: todos os valores dos componentes HTML que foram passados na primeira página JSP. Cada valor digitado em CadastroDeGerente.jsp será passado para seu respectivo atributo no gerente. Por fim, execute o método inserir, passando o gerente que deve ser persistido.

33 Teste Mude a forma de enviar as informações do formulário de cadastro de get para post. Altere a linha para Grave novos registros e veja a diferença.

34 ConsultaGerentes.jsp Consulta Gerentes Consulta Gerentes Id Nome Endereço Telefone <% DAOGerente daoGerente = new DAOGerente(); Collection lista = daoGerente.consultarTodos(); Iterator ite = lista.iterator(); while(ite.hasNext()) { Gerente gerente = (Gerente) ite.next(); %> <% } //Fecha o loop do iterator!!! %>

35 ConsultaGerentes.jsp Consultas fornecem informações valiosas para o usuário final, pois só assim ele pode verificar se suas informações estão sendo realmente persistidas. Nossa consulta imprime um cabeçalho com os nomes dos atributos da classe no topo (nome, endereço e telefone). Com a ajuda do DAOGerente, fazemos uma consulta a todos os itens cadastrados e, através de um loop, mostra todos os dados do gerente. Esse loop é padrão em aplicações web. Utilize sempre essa estrutura para resolver problemas semelhantes.

36 Dúvidas?

37 Exercícios Crie os menus de acesso às funcionalidades de consulta e cadastro de clientes.

38 Desafio Crie as telas para exclusão de Gerente/Cliente. Altere as páginas de consulta de forma que o usuário possa editar ou excluir um dos itens mostrados na lista.

39 Sugestão Veja a seguir a sugestão para resolver esse problema. Vale lembrar que é apenas uma das possibilidades. Sistemas web devem ser criados exercitando a criatividade!!! Tente outras abordagens. Todas as informações que você precisa já estão na tela.

40 ConsultaGerentes.jsp Consulta Gerentes Consulta Gerentes Id Nome Endereço Telefone Editar Excluir <% DAOGerente daoGerente = new DAOGerente(); Collection lista = daoGerente.consultarTodos(); Iterator ite = lista.iterator(); while(ite.hasNext()) { Gerente gerente = (Gerente) ite.next(); %> " > " > <% } //Fecha o loop do iterator!!! %>

41 CadastroDeGerente.jsp Cadastro de Gerente Cadastro de Gerente <% DAOGerente daoGerente = new DAOGerente(); Gerente gerente = new Gerente(); String id = request.getParameter("id"); if(id != null) { gerente = daoGerente.consultarPeloId(new Long(id)); } %> Nome: ">

42 CadastroDeGerente.jsp Endereço "> Telefone ">


Carregar ppt "JSP JavaServer Pages Marco Antonio, Arquiteto de Software – TJDF Dezembro/2005."

Apresentações semelhantes


Anúncios Google