UM GUIA PARA O DESENVOLVIMENTO DE APLICAÇÕES WEB USANDO JAVA

Tamanho: px
Começar a partir da página:

Download "UM GUIA PARA O DESENVOLVIMENTO DE APLICAÇÕES WEB USANDO JAVA"

Transcrição

1 0 UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO DEPARTAMENTO DE CIÊNCIAS EXATAS E NATURAIS CIÊNCIA DA COMPUTAÇÃO THIAGO FELIPPE DE LIMA BANDEIRA UM GUIA PARA O DESENVOLVIMENTO DE APLICAÇÕES WEB USANDO JAVA MOSSORÓ RN 2010

2 1 THIAGO FELIPPE DE LIMA BANDEIRA UM GUIA PARA O DESENVOLVIMENTO DE APLICAÇÕES WEB USANDO JAVA Monografia apresentada à Universidade Federal Rural do Semi-Árido UFERSA, Departamento de Ciências Exatas e Naturais para obtenção do título de Bacharel em Ciência da Computação. Orientador: Prof. Francisco Milton Mendes Neto, D.Sc. UFERSA. Co-Orientador: Prof. Tibérius de Oliveira e Bonates, Ph.D. UFERSA. MOSSORÓ RN 2010

3 Ficha catalográfica preparada pelo setor de classificação e catalogação da Biblioteca Orlando Teixeira da UFERSA B214g Bandeira, Thiago Felippe de Lima. Um guia para o de desenvolvimento de aplicações Web usando Java. / Thiago Felippe de Lima Bandeira. Mossoró, f. il. Monografia (Graduação em Ciência da Computação) Universidade Federal Rural do Semi-Árido. Orientador: Prof. D.Sc. Francisco Milton Mendes Neto Co-orientador: Prof. Ph.D Tibérius de O. e Bonates 1. Programação Web. 2. Java. 3. Padrões de projetos. 4. Frameworks. I.Título. CDD: Bibliotecária: Vanessa Christiane Alves de Souza CRB/15 452

4 2 THIAGO FELIPPE DE LIMA BANDEIRA UM GUIA PARA O DESENVOLVIMENTO DE APLICAÇÕES WEB USANDO JAVA Monografia apresentada à Universidade Federal Rural do Semi-Árido UFERSA, Departamento de Ciências Exatas e Naturais para obtenção do título de Bacharel em Ciência da Computação.

5 3 Dedico este trabalho primeiramente a Deus, pois sem fé nada se constrói. A minha mãe, Maria Francinete, ao meu pai, Valderi, ao meu irmão, Fábio e minha irmã Flávia.

6 4 AGRADECIMENTOS Agradeço a Deus por ter me dado perseverança, sabedoria e amigos que me apoiam e contribuem para que eu possa realizar meus objetivos. Serei sempre grato aos professores da Universidade Federal Rural do Semiárido Francisco Milton Mendes Neto e Tibérius de Oliveira e Bonates, que inspiraram e orientaram o projeto acadêmico que originou este trabalho. Em especial a Maria Darlete Nogueira Gonçalves e Maria Aurineide de Lima cujo o ato mais nobre de ajuda ao próximo será sempre lembrado por mim. Aos meus amigos que sempre desejaram sucesso em todos os meus projetos.

7 5 RESUMO O objetivo deste trabalho é apresentar um guia de programação Java para Web, de forma a esclarecer alguns detalhes de uma aplicação real e unir vários requisitos que são necessários para o aprendizado de qualquer profissional dedicado nesta área. Todos os exemplos mostrados estão disponibilizados no laboratório de engenharia de software (LES) da UFERSA. Utilizaremos, além das tecnologias clássicas, como Servlet e JavaServer Pages (JSP), outros recursos bastante interessantes e usados por muitos desenvolvedores e projetistas consagrados. Tendo em vista a grande dificuldade que vários iniciantes em Java possuem para organizar uma aplicação de forma orientada a objetos, uma abordagem prática foi realizada com o propósito de mostrar quais são os aspectos essenciais que uma aplicação Java para Web deve possuir. Utilizamos o paradigma Model View Controller (MVC), juntamente com o padrão Data Access Object (DAO), para organizar uma arquitetura robusta e elegante. Palavras-chave: Programação Web. Java. Padrões de projetos. Frameworks.

8 6 LISTA DE TABELAS Tabela 1 Escopos de um JavaBean Tabela 2 Operadores lógicos Tabela 3 Camadas do padrão MVC Tabela 4 Frameworks de desenvolvimento Java... 80

9 7 LISTA DE FIGURAS Figura 1 Novo Projeto Figura 2 Novo Projeto Web Dinâmico Figura 3 Seleciona Servidor Tomcat Figura 4 Verifica a opção para gerar o arquivo web.xml Figura 5 Executar no Servidor Figura 6 Página não encontrada Figura 7 Aba Servers do Eclipse Figura 8 Novo Servlet Figura 9 Criando um novo Servlet Figura 10 HelloWorld.java Figura 11 Página HTML gerada por um Servlet Figura 12 Novo arquivo XHTML Figura 13 Criando arquivo índex.html Figura 14 index.html Figura 15 Get.java Figura 16 Resposta gerada pelo Servlet Get Figura 17 formulario.html Figura 18 Post.java Figura 19 opcoes.html Figura 20 WebService.java Figura 21 Recuperando vários parâmetros Figura 22 Redireciona.java Figura 23 bemvindo.jsp Figura 24 opcoes.jsp Figura 25 Usuario.java Figura 26 javabean.jsp Figura 27 login/logar.jsp Figura 28 home.jsp Figura 29 jstl.jsp Figura 30 Padrão Singleton... 50

10 8 Figura 31 Singleton.java Figura 32 TestaSingleton.java Figura 33 Padrão Factory Figura 34 MoedaFactory.java Figura 35 Moeda.java Figura 36 Real.java Figura 37 Libra.java Figura 38 TestaFactory.java Figura 39 ConexaoJDBC.java Figura 40 ConnectionFactory.java Figura 41 hibernate.cfg.xml Figura 42 HibernateFactory.java Figura 43 Bibliotecas Figura 44 Usuario.java Figura 45 hibernate.cfg.xml Figura 46 UsuarioDao.java Figura 47 UsuarioController.java Figura 48 view/listausuarios.jsp Figura 49 view/atualizausuario.jsp Figura 50 view/novousuario.jsp... 78

11 9 SUMÁRIO 1 INTRODUÇÃO A LINGUAGEM DE PROGRAMAÇÃO JAVA E WEB COMO A WEB TRABALHA O PROTOCOLO HTTP JAVA EE PREPARANDO O AMBIENTE DE TRABALHO (ECLIPSE + TOMCAT) Criando um projeto Web no Eclipse Executando o projeto SERVLETS O CLÁSSICO HELLO WORLD O CICLO DE VIDA DE UMA SERVLET PROCESSANDO REQUISIÇÕES COM O MÉTODO GET PROCESSANDO REQUISIÇÕES COM O MÉTODO POST EXPLORANDO A INTERFACE HTTPSERVLETREQUEST REDIRECIONAMENTO DE RESPOSTA JAVASERVER PAGES JSP NA PRÁTICA OBJETOS IMPLÍCITOS PROCESSANDO INFORMAÇÕES COM JSP JAVA COM HTML JAVA BEANS EL: EXPRESSION LANGUAGE JSTL: JAVASERVER PAGES STANDARD TAG LIBRARY Instalação de JSTL JSTL na prática PADRÕES DE PROJETOS (DESIGN PATTERNS) O QUE É UM PADRÃO DE PROJETO? SINGLETON FACTORY ACESSO A BANCO DE DADOS MYSQL... 55

12 ACESSO BÁSICO AO BANCO DE DADOS MYSQL CRIANDO O BANCO DE DADOS DO PROJETO ACESSO AO BANCO ATRAVÉS DO JDBC FÁBRICA DE CONEXÕES HIBERNATE DESCRIÇÃO DO HIBERNATE PREPARAÇÃO DO HIBERNATE CONFIGURAÇÃO DO HIBERNATE FÁBRICA DE CONEXÕES COM O HIBERNATE MODEL VIEW CONTROLLER E DATA ACCESS OBJECT ARQUITETURA MVC DATA ACCESS OBJECT DAO JUNTANDO TODAS AS PARTES Model O Bean Usuario Codificando nosso DAO Controller View FRAMEWORKS DE DESENVOLVIMENTO MVC PRINCIPAIS FRAMEWORKS CONCLUSÃO CONSIDERAÇÕES FINAIS TRABALHOS FUTUROS REFERÊNCIAS... 84

13 11 1 INTRODUÇÃO Com os avanços nas tecnologias de rede e comunicações, a Web se tornou o meio mais utilizado para distribuição e acesso de aplicações de software, tanto acadêmicas como comerciais. Como a linguagem Java foi projetada para a Internet, ela possui muitas vantagens que a torna adequada para o desenvolvimento de aplicações Web. Porém, devido à grande quantidade de informação disponível sobre esta linguagem, inclusive na própria Web, e a grande quantidade de tecnologias e frameworks de suporte ao desenvolvimento de software usando esta linguagem, o aprendizado sobre como utilizá-la de forma correta, beneficiando-se das tecnologias disponíveis, nem sempre é uma tarefa fácil para desenvolvedores iniciantes. Nas disciplinas do curso de Ciência da Computação da UFERSA que adotam Java para desenvolvimento de aplicações (como, por exemplo, Programação Orientada a Objetos, Análise e Projeto de Sistemas e Sistemas Multimídia, entre outras) percebe-se uma dificuldade dos alunos em relação ao uso correto das tecnologias e frameworks disponíveis. O uso correto destas tecnologias torna o desenvolvimento de aplicações Java mais fácil e seguro, do ponto de vista da qualidade dos softwares desenvolvidos. Para minimizar este problema de aprendizagem, este trabalho tem como objetivo apresentar, de forma simples e sistemática, um guia sobre como utilizar as principais técnicas e tecnologias disponíveis atualmente que podem ser utilizadas no desenvolvimento de qualquer aplicação Web usando Java. A popularidade da linguagem Java, apesar de existirem várias outras linguagens cuja curva de aprendizado é mais íngreme, deve-se, entre outras coisas, a fatores como portabilidade, flexibilidade e paradigma orientado a objeto bem desenvolvido e maduro, além de várias opções de IDEs gratuitas, fazendo do Java uma excelente escolha para quem busca produtividade e integração da equipe de desenvolvimento. No entanto, dominar uma tecnologia não é simplesmente saber como desenvolver uma aplicação, mas saber como esta aplicação se comporta sempre que um recurso é requisitado. Por isso, o guia proposto aborda os conceitos fundamentais de como funciona uma aplicação Web, revisando alguns métodos do protocolo HTTP, assim como a forma como Java se adapta ao paradigma desenvolvimento Web. O desenvolvimento de um projeto Web exige uma base de conhecimento bastante sólida das tecnologias disponíveis, pois isto minimiza os problemas inerentes ao processo de criação de um software. Normalmente, encontramos equipes que possuem vários

14 12 componentes ( pessoas), onde cada um deles possui uma qualificação específica, como especialistas em banco de dados, programadores, designers etc. Para definir e separar cada responsabilidade, é necessário escolher algum mecanismo de organização. No guia proposto neste trabalho, é descrito o paradigma Model-View-Controller (MCV) para ajudar nesta tarefa. Após introduzir os principais conceitos envolvidos no desenvolvimento de aplicações Java para Web e mostrar, passo a passo, como utilizar as principais técnicas envolvidas, o guia começa a abordar conceitos um pouco mais profundos referentes ao uso dos frameworks de desenvolvimento. Frameworks são muito interessantes e podem ajudar bastante o processo de desenvolvimento. Porém, se usados de forma incorreta, poderão causar vários transtornos para os projetistas e responsáveis pela aplicação. Uma importante distinção do trabalho proposto em relação a outros trabalhos é o fato de todos os exemplos abordados estarem disponíveis para acesso público em contendo, além dos códigos-fontes, a aplicação rodando. Isto facilitará a aprendizagem dos alunos, uma vez que eles poderão constantemente comparar os resultados das atividades propostas no guia com a implementação disponível no site.

15 13 2 A LINGUAGEM DE PROGRAMAÇÃO JAVA E WEB Java é uma linguagem de programação que chama bastante atenção por ser portável para vários sistemas operacionais e hardwares. De acordo com Gonçalves (2007) Java foi anunciada em maio de 1995, pela empresa Sun Microsystems, que percebeu que na rede de alcance mundial, do inglês World Wide Web (WWW), havia uma grande quantidade de sistemas operacionais e alguns browsers, e com isso seria uma grande vantagem poder programar em uma única linguagem, independente da plataforma. O objetivo deste capítulo será fornecer um breve entendimento do que ocorre na Web durante a requisição de algum serviço. Afinal, é muito importante saber o que acontece antes mesmo de saber como fazer. 2.1 COMO A WEB TRABALHA A Internet é um ambiente de tecnologia neutra onde qualquer aplicação é feita utilizando protocolos populares (HTTP/FTP), que não requerem do cliente um sistema operacional específico e nem que a aplicação seja desenvolvida em uma linguagem de programação específica (VILLAFUERTE, 2007). A Web é baseada na arquitetura cliente-servidor, onde o cliente, que pode ser um browser ou um aplicativo para transferência de arquivo, se conecta a um servidor, através de um protocolo, para acessar informações que foram requisitadas por usuários (VILLAFUERTE, 2007). 2.2 O PROTOCOLO HTTP O HTTP, Protocolo de Transferência de Hipertexto (HyperText Transfer Protocol), é implementado na camada de aplicação da Arquitetura Internet e está definido no (RFC 1945)

16 14 e no (RFC 2616). Um cliente HTTP abre uma conexão TCP e envia uma mensagem de requisição (request) para um servidor, que por sua vez envia uma resposta (response). As requisições HTTP de um cliente para o servidor contêm informações sobre o tipo de dado que o usuário precisa. Várias informações podem ser encapsuladas em sua requisição, dentre elas estão os métodos, que dizem ao servidor como as requisições são feitas e formatadas. A seguir veremos os métodos que podem ser solicitados por esse protocolo: OPTIONS consulta as informações de quais comandos estão disponíveis para um determinado cliente. As respostas a este método não são armazenáveis em cache; GET esse método recupera do servidor qualquer informação através da especificação do Uniform Resource Identifier (URI). Os dados transmitidos são anexados ao Uniform Resource Locator (URL), ficando visíveis ao usuário; HEAD obtém as meta-informações contidas no cabeçalho HTTP através de solicitação URI, sem ter que recuperar todo o conteúdo da mensagem; POST qualquer requisição feita por esse método sempre requer que os parâmetros submetidos sejam codificados no corpo da mensagem. O método POST oferece maior segurança em relação ao método GET, pois os dados enviados ficam escondidos do usuário. Por isso esse método é usado freqüentemente na submissão de formulários HTML ou XHTML; PUT permite o envio de arquivos para o servidor Web; DELETE permite excluir algum recurso através da URI; TRACE obtém várias informações de uma requisição permitindo a depuração de aplicações Web; CONNECT converte uma conexão para o modo túnel. Facilita o uso de criptografia SSL. 2.3 JAVA EE A plataforma Java EE foi criada para o desenvolvimento de aplicações corporativas, que possuem regras de negócio bastante complicadas, e consiste de uma série de

17 15 especificações bem detalhadas, facilitando o gerenciamento de aplicações envolvendo vários programadores (CAELUM, 2010). 2.4 PREPARANDO O AMBIENTE DE TRABALHO (ECLIPSE + TOMCAT) Felizmente, existem ótimas ferramentas que auxiliam bastante no desenvolvimento em Java. Dentre estas está a Plataforma Eclipse, que, além de possuir código aberto, é considerada por muitos como a melhor IDE para desenvolvimento dessa linguagem (GONÇALVES, 2007). Portanto, não é a toa que iremos escolher o Eclipse como a principal ferramenta de desenvolvimento para nosso trabalho. Iremos aos passos necessários para obter e instalar o Eclipse: Eclipse IDE o Em iremos adquirir o Eclipse IDE for Java EE Developers. Adquira a versão compatível com o sistema operacional que você usa. Esta distribuição já inclui os plugins necessários para trabalharmos com aplicações Web em Java; o Para instalar, basta descarregar o arquivo e descompactá-lo em qualquer pasta do seu computador. Para que o Java funcione na Web, teremos que adquirir um Container Servlet. Atualmente, existem diversos containeres de servidores no mercado, sendo os mais populares: Apache Tomcat, Red Halt JBoss, IBM WebSphere e etc. Em nossos exemplos utilizaremos o Tomcat pelo mesmo motivo que escolhemos o Eclipse. Tomcat é um bom container, possui código fonte aberto, e se integra facilmente com o Eclipse de forma que poderemos gerenciar o servidor através desta IDE. Seguem os passos para a obtermos o Tomcat: Tomcat o Em faça o download da ultima versão do Tomcat, no formato.zip ou tar.gz; o Descompacte o arquivo dentro da pasta onde o Eclipse foi instalado.

18 16 pelo Eclipse. Posteriormente iremos aprender como configurar o Tomcat, para que seja gerenciado Criando um projeto web no Eclipse Para desenvolvermos qualquer aplicação utilizando o Eclipse é necessário iniciar um projeto. Assim teremos várias opções de configurações de forma relativamente simples, além de podermos iniciar e parar o container em apenas um clique. Inicie o Eclipse; Vá até File New Project expanda a opção Web e selecione Dynamic Web Project (Figura 1) clique no botão Next; Figura 10 Novo Projeto Fonte: Gerado pelo Eclipse Em Project name (Figura 2), digite progweb (nome do seu projeto); Em Target runtime clique no botão New Runtime;

19 17 Figura 11 Novo Projeto Web Dinâmico Fonte: Gerado pelo Eclipse Surgirá a caixa de diálogo New Server Runtime Environment (Figura 3), onde iremos definir qual servidor iremos utilizar. Selecione a opção Apache Tomcat v7.0 clique no botão Next; Figura 12 Selecionar Servidor Tomcat Fonte: Gerado pelo Eclipse Na próxima caixa de diálogo, clique no botão Browser e selecione o diretório onde você descompactou o Tomcat e clique em Finish;

20 18 De volta à caixa de diálogo New Dynamic Web Project, clique em Next Next e verifique se a opção Generate web.xml deployment descriptor (Figura 4) está selecionada, caso não esteja, selecione e clique no botão Finish; Figura 13 Verifica a opção para gerar o arquivo web.xml Fonte: Gerado pelo Eclipse Pronto, agora nosso projeto está iniciado Executando o projeto Para verificar se a instalação foi realizada com sucesso, iremos executar o projeto criado na seção anterior. Isso pode ser feito pelo Eclipse de uma forma bastante simples, seguindo os seguintes passos: Selecione o projeto com o botão direito do mouse Run as Run on Server; Aparecerá a caixa de diálogo Run on Server (Figura 5), selecione a opção Always use this server when running this project Next;

21 19 Figura 14 Executar no Servidor Fonte: Gerado pelo Eclipse Verifique se o projeto foi adicionado ao servidor, caso contrário o adicione clicando no botão Add Finish; Aparecerá na tela do Eclipse uma página com problema HTTP Status 404 (Figura 6) indicando que temos um projeto configurado e funcionando corretamente. A mesma página poderá ser acessada por qualquer browser (Firefox, Internet Explorer, Google Chrome, etc) através do URL Figura 15 Página não encontrada Fonte: Gerado pelo Eclipse

22 20 Na aba Servers (Figura 7), encontramos algumas opções relacionadas ao container, dentre elas podemos iniciar e parar o servidor sempre quando for necessário. Figura 16 Aba Servers do Eclipse Fonte: Gerado pelo Eclipse

23 21 3 SERVLETS 3.0 Servlets são classes Java desenvolvidas de acordo com uma estrutura bem definida e cujo objetivo é receber requisições HTTP, para depois processá-las e enviar uma resposta ao cliente (GONÇALVES, 2007). É interessante, antes de qualquer coisa, conhecer o funcionamento das Servlets, pois elas constituem a base do desenvolvimento de qualquer aplicação Web feita em Java. O objetivo deste capítulo é introduzir e colocar em prática alguns dos métodos mais comuns e usados no protocolo HTTP. 3.1 O CLÁSSICO HELLO WORLD Os passos necessários para criar uma Servlet utilizando o Eclipse são: Após ter criado um projeto, vá até o menu File New Other; Surgirá a caixa de diálogo New (Figura 8). Expanda a opção Web e selecione Servlet clique no botão Next; Figura 17 Novo Servlet Fonte: Gerado pelo Eclipse

24 22 Na caixa de diálogo Create Servlet (Figura 9), em javapackage, digite servlets (nome do pacote onde iremos criar nossas classes Servlets). Em Class name digite HelloWorld Finish. Figura 18 Criando um novo Servlet Fonte: Gerado pelo Eclipse Foi criada uma classe chamada HelloWorld contendo alguns métodos implementados. Observe que tanto o método doget quanto o método dopost, criados pelo Eclipse, recebem como parâmetros um objeto request do tipo HttpServletRequest e um objeto response do tipo HttpServletResponse, o que indica que eles receberão uma requisição HTTP, processarão tal requisição e enviarão uma resposta ao cliente. A seguir modificaremos a classe HelloWorld, criada pelo Eclipse, para ilustrar o primeiro exemplo de funcionamento de uma Servlet. Portanto nossa classe deve ser codificada conforme a Figura 10. O método service (HttpServletRequest request, HttpServletResponse response) é responsável por atender requisições e gerar as respostas adequadas. O único objetivo da Servlet acima é exibir uma mensagem de resposta (response) HTML estática para qualquer usuário que a requisitar.

25 23 package servlets; import java.io.ioexception; import java.io.printwriter; import javax.servlet.servletexception; import javax.servlet.annotation.webservlet; import javax.servlet.http.httpservlet; import javax.servlet.http.httpservletrequest; import public class HelloWorld extends HttpServlet { private static final long serialversionuid = 1L; public HelloWorld() { super(); public void init() throws ServletException{ super.init(); public void destroy(){ super.destroy(); public void finalize() throws Throwable{ super.finalize(); protected void service(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { // Especifica o tipo de conteúdo da resposta para o cliente response.setcontenttype("text/html;charset=utf-8"); String resposta = "<html>" + " <head><title>hello World</title></head>" + " <body>" + " <h1>gerando uma página HTML estática...</h1>" + " <p>a página foi gerada por um Servlet</p>" + " </body>" + "</html>"; // Retorna a resposta ao cliente PrintWriter out = response.getwriter(); out.print(resposta); out.close(); Figura 20 - HelloWorld.java Fonte: Autoria própria

26 24 Inicie o servidor Tomcat, pelo Eclipse (seção 2.4.2), e acesse a seguinte URL: (acessível em: A Figura 11 ilustra o resultado de nossa Servlet sendo redenrizada no Mozilla Firefox. Figura 11 Página HTML gerada por um Servlet Fonte: Autoria própia Nota: É importante observar que nosso código possui a que informa o mapeamento da nossa Servlet sem a necessidade de editar o arquivo web.xml. Se alterarmos essa anotação teremos que acessar nosso Servlet pelo URL Este recurso está disponível a partir da versão JEE 6.0 na nova especificação Servlets 3.0 (CAELUM, 2010). 3.2 O CICLO DE VIDA DE UMA SERVLET Uma Servlet possui o ciclo de vida bem definido e composto por cinco fases: instanciação, inicialização, atendimento às requisições, destruição e finalização. O ciclo de vida de uma Servlet é controlado pelo container em que é instalado, neste caso pelo Tomcat. Quando uma Servlet é instanciada pelo container, o objeto criado é carregado para a memória. Em seguida ocorrerá a inicialização, onde o método init() é chamado, para garantir que a inicialização padrão da Servlet seja executada e configurada apropriadamente. Após a inicialização, a Servlet ficará pronta para atender requisições. Em alguns casos, quando o container precisar de memória, os recursos terão que ser liberados para não haver problemas durante uma requisição. Para isto, a fase de destruição entra em ação, porém, antes de uma Servlet ser destruída, o método destroy() é executado.

27 25 Assim como em qualquer outro tipo de objeto em Java, para executar qualquer ação antes que um objeto seja retirado da memória o método finalize() poderá ser utilizado. 3.3 PROCESSANDO REQUISIÇÕES COM O MÉTODO GET O método GET recupera do servidor qualquer informação através de solicitação contendo o URI. Qualquer parâmetro pode ser enviado para o servidor através de uma string de consulta, que é parte da URL e aparece logo após um ponto de interrogação. A seguir, temos um exemplo de URL que contém uma string de consulta: Observe que na URL anterior temos, logo após o ponto de interrogação, as variáveis usuario e senha separadas pelo caractere & ( e comercial). No mesmo exemplo a variável usuario recebe como parâmetro a string admin e a variável senha recebe a string 123. Iremos criar um arquivo XHTML para que possamos fazer uma requisição ao servidor utilizando uma string de consulta: Com o projeto aberto, clique com o botão direito do mouse no diretório WebContent New Other; Na caixa de diálogo New (Figura 12), vá em Wizards e digite o valor HTML; Figura 12 Novo arquivo XHTML Fonte: Gerado pelo Eclipse

28 26 Selecione HTML file Next; Na caixa de diálogo New HTML File, em File name digite index (nome do arquivo que será criado) Next; Figura 13 Criando arquivo índex.html Fonte: Gerado pelo Eclipse Selecione a opção New XHTML File (1.0 transitional) Finish. Modificaremos o arquivo index.html, criado pelo Eclipse, para demonstrar o envio de uma string de consulta. A codificação do arquivo index.html pode ser encontrada na Figura 14. <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title>enviando uma string de consulta</title> </head> <body> <h1>solicitando o servidor usando o método get</h1>

29 27 <a href="get?usuario=admin&senha=123">envie seu login e sua senha </a> </body> </html> Figura 14 index.html Fonte: Autoria própia Para verificarmos o comportamento de nossa requisição, temos que criar uma nova Servlet de acordo com a Figura 15. package servlets; import java.io.ioexception; import java.io.printwriter; import javax.servlet.servletexception; import javax.servlet.annotation.webservlet; import javax.servlet.http.httpservlet; import javax.servlet.http.httpservletrequest; import public class Get extends HttpServlet { private static final long serialversionuid = 1L; public Get() { super(); protected void doget(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { String usuario = request.getparameter("usuario"); String senha = request.getparameter("senha"); String queryconsulta = request.getquerystring(); response.setcontenttype("text/html;charset=utf-8"); String resposta = "<html>" + " <head><title>resposta gerada pelo Servlet Get</title></head>" + " <body>" + " <p>usuário: <strong>"+ usuario +"</strong></p>" + " <p>senha: <strong>"+ senha +"</strong></p>" + " <p>query de consulta:<strong> "+queryconsulta+"</strong></p>" + " </body>" + "</html>"; PrintWriter out = response.getwriter(); out.print(resposta); out.close(); Figura 15 Get.java Fonte: Autoria própia

30 28 Independente do método utilizado, os valores dos parâmetros podem ser lidos através do método getparameter(string arg0) implementado pela interface HttpServletRequest. Esse método retorna o valor (string) associado com um parâmetro enviado para o Servlet. Caso o parâmetro não tenha sido enviado pela requisição um valor null é retornado pelo método. Acesse a URL (acessível em: clique no link da página e veja o que acontece. A Figura 16 mostra o resultado da nossa requisição. Observe que os dados enviados podem ser vistos por qualquer usuário. Figura 16 Resposta gerada pelo Servlet Get Fonte: Autoria própia 3.4 PROCESSANDO REQUISIÇÕES COM O MÉTODO POST O método POST sempre requer que os parâmetros submetidos sejam codificados no corpo da mensagem. Ele oferece maior segurança em relação ao método GET, pois os dados enviados ficam escondidos do usuário. Por isso esse método é usado frequentemente na submissão de formulários XHTML. A Figura 17 mostra um exemplo que obtém o nome do usuário e senha através de um formulário. <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title>processando requisições com o método POST</title> </head> <body>

31 29 <h3> Observe que os dados não são anexados a URL.</h3> <fieldset> <legend>requisitando o Servlet Post usando o método post</legend> <form action="post" method="post"> <label for="user">usuário: </label> <input type="text" id="user" name="usuario"/> <label for="pw"> Senha: </label> <input type="password" id="pw" name="senha"/> <button type="submit">enviar</button> </form> </fieldset> </body> </html> Figura 17 formulario.html Fonte: Autoria própia A tag <form/> envia os dados via post para o Servet indicado em action, que no caso se chama Post, mapeado pela Os parâmetros são enviados, neste caso, pela tag <input/> e os nomes das variáveis são definidos nos atributos name de cada elemento input. A Servlet da Figura 18 foi criada para processar as requisições do formulário da Figura 17. package servlets; import java.io.ioexception; import java.io.printwriter; import javax.servlet.servletexception; import javax.servlet.annotation.webservlet; import javax.servlet.http.httpservlet; import javax.servlet.http.httpservletrequest; import public class Post extends HttpServlet { private static final long serialversionuid = 1L; public Post() { super(); protected void dopost(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { String usuario = request.getparameter("usuario"); String senha = request.getparameter("senha"); response.setcontenttype("text/html;charset=utf-8");

32 30 String resposta = "<html>" + " <head><title>resposta gerada pelo Servlet Get</title></head>" + " <body>"; if(usuario.equals("admin") && senha.equals("123")){ resposta += "Parabéns, você digitou usuário="+usuario+" senha=" +senha; else{ resposta += "Tente novamente até acertar..."; resposta += "</body> </html>"; PrintWriter out = response.getwriter(); out.print(resposta); out.close(); Figura 18 Post.java Fonte: Autoria própia Note que podemos recuperar vários parâmetros da mesma forma como fizemos com o método GET. A única diferença é que no método POST os dados não são anexados a URL. O mesmo formulário poderia ser modificado de forma a requisitar o Servlet Get, bastando modificar o action e o método de requisição (method).... <form action="get" method="get"> <label for="user">usuário: </label> <input type="text" id="user" name="usuario"/> <label for="pw"> Senha: </label> <input type="password" id="pw" name="senha"/> <button type="submit">enviar</button> </form> EXPLORANDO A INTERFACE HTTPSERVLETREQUEST Numa aplicação real, recuperar cada parâmetro individualmente nem sempre é suficiente. Muitas vezes necessitamos processar formulários contendo múltiplos elementos com o mesmo nome, varrer valores em laços, etc. A interface HttpServletRequest, por

Programação Web Aula 12 - Java Web Software

Programação Web Aula 12 - Java Web Software Programação Web Aula 12 - Java Web Software Bruno Müller Junior Departamento de Informática UFPR 25 de Maio de 2015 1 Java 2 Java Web Software 3 Servlets Modelo de Trabalho Funcionamento API Java Código

Leia mais

Prof. Roberto Desenvolvimento Web Avançado

Prof. Roberto Desenvolvimento Web Avançado Resposta exercício 1: Configuração arquivo web.xml helloservlet br.com.exercicios.helloservlet

Leia mais

Java para Desenvolvimento Web

Java para Desenvolvimento Web Java para Desenvolvimento Web Servlets A tecnologia Servlet foi introduzida pela Sun Microsystems em 1996, aprimorando e estendendo a funcionalidade e capacidade de servidores Web. Servlets é uma API para

Leia mais

Associação Carioca de Ensino Superior Centro Universitário Carioca

Associação Carioca de Ensino Superior Centro Universitário Carioca Desenvolvimento de Aplicações Web Lista de Exercícios Métodos HTTP 1. No tocante ao protocolo de transferência de hipertexto (HTTP), esse protocolo da categoria "solicitação e resposta" possui três métodos

Leia mais

Programação II Programação para a Web. Christopher Burrows

Programação II Programação para a Web. Christopher Burrows Programação II Programação para a Web Christopher Burrows Apache Tomcat O Apache Tomcat é um Servlet Container desenvolvido pela Apache Software Foundation. Implementa as tecnologias Java Servlets e Java

Leia mais

Arquitetura de Aplicações JSP/Web. Padrão Arquitetural MVC

Arquitetura de Aplicações JSP/Web. Padrão Arquitetural MVC Arquitetura de Aplicações JSP/Web Padrão Arquitetural MVC Arquitetura de Aplicações JSP/Web Ao projetar uma aplicação Web, é importante considerála como sendo formada por três componentes lógicos: camada

Leia mais

Universidade São Judas Tadeu. Faculdade de Tecnologia e Ciências Exatas. Sistemas de Informação 3ASIN

Universidade São Judas Tadeu. Faculdade de Tecnologia e Ciências Exatas. Sistemas de Informação 3ASIN Universidade São Judas Tadeu Faculdade de Tecnologia e Ciências Exatas Sistemas de Informação 3ASIN Atividade de Tópicos em Desenvolvimento e Banco de Dados Nome: Pedro Augusto Pereira R.A.: 201013018

Leia mais

Criando e Entendendo o Primeiro Servlet Por: Raphaela Galhardo Fernandes

Criando e Entendendo o Primeiro Servlet Por: Raphaela Galhardo Fernandes Criando e Entendendo o Primeiro Servlet Por: Raphaela Galhardo Fernandes Resumo Neste tutorial serão apresentados conceitos relacionados a Servlets. Ele inicial como uma breve introdução do funcionamento

Leia mais

Java para WEB JSTL. JavaServer Pages Standard Tag Library

Java para WEB JSTL. JavaServer Pages Standard Tag Library JSTL JSTL JavaServer Pages Standard Tag Library API que encapsulou em tags simples toda a funcionalidade que diversas páginas Web precisam, como controle de laços (fors), controle de fluxo do tipo if else,

Leia mais

Tencologia em Análise e Desenvolvimento de Sistemas Disciplina: WEB I Conteúdo: WEB Container Aula 04

Tencologia em Análise e Desenvolvimento de Sistemas Disciplina: WEB I Conteúdo: WEB Container Aula 04 Tencologia em Análise e Desenvolvimento de Sistemas Disciplina: WEB I Conteúdo: WEB Container Aula 04 Agenda 1. 2. Web Container TomCat 2 3 J2EE permite criar aplicações Web dinâmicas (com conteúdo dinâmico)

Leia mais

Java na WEB Servlet. Sumário

Java na WEB Servlet. Sumário 1 Java na WEB Servlet Objetivo: Ao final da aula o aluno será capaz de: Utilizar Servlets para gerar páginas web dinâmicas. Utilizar Servlets para selecionar páginas JSPs. Utilizar Servlets como elemento

Leia mais

Java II. Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com

Java II. Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com Java II Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com Por quê JSP? Com Servlets é fácil Ler dados de um formulário Recuperar dados de uma requisição Gerar informação de resposta Fazer gerenciamento

Leia mais

Use a Cabeça! FREEMAN, Eric e Elisabeth. HTML com CSS e XHTML BASHMAN, Brian / SIERRA Kathy / BATES, Bert. Servlets & JSP

Use a Cabeça! FREEMAN, Eric e Elisabeth. HTML com CSS e XHTML BASHMAN, Brian / SIERRA Kathy / BATES, Bert. Servlets & JSP Use a Cabeça! FREEMAN, Eric e Elisabeth. HTML com CSS e XHTML BASHMAN, Brian / SIERRA Kathy / BATES, Bert. Servlets & JSP Software cliente: browser e outros Protocolo HTTP Infraestrutura de transporte

Leia mais

!" # # # $ %!" " & ' ( 2

! # # # $ %!  & ' ( 2 !"# # #$ %!" "& ' ( 2 ) *+, - 3 . / 4 !" 0( # "!#. %! $""! # " #.- $ 111.&( ( 5 # # 0. " % * $(, 2 % $.& " 6 # #$ %% Modelo (Encapsula o estado da aplicação) Implementado como JavaBeans Responde a consulta

Leia mais

Curso de Java. Geração de Páginas WEB. TodososdireitosreservadosKlais

Curso de Java. Geração de Páginas WEB. TodososdireitosreservadosKlais Curso de Java Geração de Páginas WEB Aplicação WEB Numa aplicação WEB de conteúdo dinâmico As páginas são construídas a partir de dados da aplicação (mantidos num banco de dados). Usuários interagem com

Leia mais

Java para WEB. Servlets

Java para WEB. Servlets Servlets Servlets são classes Java que são instanciadas e executadas em associação com servidores Web, atendendo requisições realizadas por meio do protocolo HTTP. Servlets é a segunda forma que veremos

Leia mais

PadrãoIX. Módulo II JAVA. Marcio de Carvalho Victorino. Servlets A,L,F,M

PadrãoIX. Módulo II JAVA. Marcio de Carvalho Victorino. Servlets A,L,F,M JAVA Marcio de Carvalho Victorino 1 Servlets 2 1 Plataforma WEB Baseada em HTTP (RFC 2068): Protocolo simples de transferência de arquivos Sem estado (não mantém sessão aberta) Funcionamento (simplificado):

Leia mais

Como criar um EJB. Criando um projeto EJB com um cliente WEB no Eclipse

Como criar um EJB. Criando um projeto EJB com um cliente WEB no Eclipse Como criar um EJB Criando um projeto EJB com um cliente WEB no Eclipse Gabriel Novais Amorim Abril/2014 Este tutorial apresenta o passo a passo para se criar um projeto EJB no Eclipse com um cliente web

Leia mais

J2EE. Exemplo completo Utilização Servlet. Instrutor HEngholmJr

J2EE. Exemplo completo Utilização Servlet. Instrutor HEngholmJr J2EE Exemplo completo Utilização Servlet Instrutor HEngholmJr Page 1 of 9 AT09 Exemplo complete Utilização Servlet Version 1.1 December 5, 2014 Indice 1. BASEADO NOS EXEMPLOS DE CÓDIGO DESTA APOSTILA,

Leia mais

JSP (Java Server Pages)

JSP (Java Server Pages) JSP (Java Server Pages) André Tavares da Silva andre.silva@udesc.br JSP A linguagem surgiu por volta de 1995. JSP foi inicialmente inventado por Anselm Baird-Smith durante um final de semana e depois Satish

Leia mais

Java II. Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com

Java II. Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com Java II Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com Servlets Servlet Aplicação Java que é executada no servidor que estende a capacidade do servidor Web Alternativa Java para os scripts CGI Gerenciado

Leia mais

Aula 03 - Projeto Java Web

Aula 03 - Projeto Java Web Aula 03 - Projeto Java Web Para criação de um projeto java web, vá em File/New. Escolha o projeto: Em seguida, na caixa Categorias selecione Java Web. Feito isso, na caixa à direita selecione Aplicação

Leia mais

Java Servlets. Leonardo Gresta Paulino Murta leomurta@ic.uff.br

Java Servlets. Leonardo Gresta Paulino Murta leomurta@ic.uff.br Java Servlets Leonardo Gresta Paulino Murta leomurta@ic.uff.br Especificação/IDE/Implementação Esse curso foi preparado em 03/2015 usando a seguinte especificação, IDE e implementação Especificação Java

Leia mais

JavaServer Pages (JSP) Leonardo Gresta Paulino Murta leomurta@ic.uff.br

JavaServer Pages (JSP) Leonardo Gresta Paulino Murta leomurta@ic.uff.br JavaServer Pages (JSP) Leonardo Gresta Paulino Murta leomurta@ic.uff.br Especificação/IDE/Implementação Esse curso foi preparado em 03/2015 usando a seguinte especificação, IDE e implementação Especificação

Leia mais

Arquitetura de uma Webapp

Arquitetura de uma Webapp Arquitetura de uma Webapp Arquitetura J2EE Containers e componentes MVC: introdução Frederico Costa Guedes Pereira 2006 fredguedespereira@gmail.com Plataforma J2EE World Wide Web e a Economia da Informação

Leia mais

Tutorial Jogo da Velha WEB

Tutorial Jogo da Velha WEB Tutorial Jogo da Velha WEB Criação do Projeto 1- Inicie o Eclipse 2- Crie um novo projeto Web dinâmico. 3- Na tela seguinte, digite o nome do projeto e caso no campo Target Runtime não estiver aparecendo

Leia mais

Desenvolvendo Aplicações Web com NetBeans

Desenvolvendo Aplicações Web com NetBeans Desenvolvendo Aplicações Web com NetBeans Aula 3 Cap. 4 Trabalhando com Banco de Dados Prof.: Marcelo Ferreira Ortega Introdução O trabalho com banco de dados utilizando o NetBeans se desenvolveu ao longo

Leia mais

Tecnologias Web. Java Enterprise Edition

Tecnologias Web. Java Enterprise Edition Tecnologias Web Java Enterprise Edition Cristiano Lehrer, M.Sc. Introdução Java Enterprise Edition (JEE): Plataforma de tecnologias para o desenvolvimento de aplicações corporativas distribuídas. É uma

Leia mais

Faculdades Integradas Santa Cruz. Tutorial de Java MVC WEB Criando uma tela de Login com Banco de Dados

Faculdades Integradas Santa Cruz. Tutorial de Java MVC WEB Criando uma tela de Login com Banco de Dados Faculdades Integradas Santa Cruz Tutorial de Java MVC WEB Criando uma tela de Login com Banco de Dados 2009 Introdução O objetivo deste tutorial é apresentar os conceitos de estruturação de um projeto

Leia mais

Autenticação e Autorização

Autenticação e Autorização Autenticação e Autorização Introdução A segurança em aplicações corporativas está relacionada a diversos aspectos, tais como: autenticação, autorização e auditoria. A autenticação identifica quem acessa

Leia mais

Desenvolvimento Web TCC-00.226 Turma A-1

Desenvolvimento Web TCC-00.226 Turma A-1 Desenvolvimento Web TCC-00.226 Turma A-1 Conteúdo Arquitetura de Aplicações Distribuídas na Web Professor Leandro Augusto Frata Fernandes laffernandes@ic.uff.br Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2013.2/tcc-00.226

Leia mais

Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas)

Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) Web Container: e JSP Sumário Protocolo HTTP Exemplos de JSP (Java Server Pages) Exemplos JSP 2 Protocolo HTTP URL: Um URL (Uniform

Leia mais

Programação para Internet II

Programação para Internet II Programação para Internet II Aulas 09 e 10 Fernando F. Costa nando@fimes.edu.br Linguagens de Expressão - EL É uma Linguagem de script que permite o acesso à componentes Java (JavaBeans) através de JSP.

Leia mais

Web Browser como o processo cliente. Servidor web com páginas estáticas Vs. Aplicações dinâmicas para a Web:

Web Browser como o processo cliente. Servidor web com páginas estáticas Vs. Aplicações dinâmicas para a Web: Web Browser como o processo cliente Servidor web com páginas estáticas Vs Aplicações dinâmicas para a Web: 1 Cliente Web browser HTTP porto 80 Servidor web... JDBC RMI XML... Base de Dados Aplicação em

Leia mais

Material de Apoio Profº Alan Cleber Borim

Material de Apoio Profº Alan Cleber Borim Desenvolvimento Web...2 Java....2 O Tomcat...2 Instalando o ambiente da aplicação....3 Instalando o jdk JAVA...3 Instalando o Tomcat...3 Criando um novo ambiente de desenvolvimento...4 Definição de Servlet...7

Leia mais

Servlets, JSPs e Java Beans

Servlets, JSPs e Java Beans Servlets, JSPs e Java Beans Prof. Pasteur Ottoni de Miranda Junior PUC Minas Disponível em www.pasteurjr.blogspot.com 1-Servlets 1.1 O que são Servlets são classes Java executadas em servidores web. Servem

Leia mais

" # $ %&'( ) *' ( +,)+ ( - $ (+*' 0 12 ' ( %+ -12 )+3 ) (4 )) ) % 12 ) *' (

 # $ %&'( ) *' ( +,)+ ( - $ (+*' 0 12 ' ( %+ -12 )+3 ) (4 )) ) % 12 ) *' ( ! " # $ %&'( ) *' ( +,)+ ( - $ (+*'.%/ 0 12 ' ( %+ -12 )+3 ) (4 )) ) % 12 ) *' ( 2 (5) '%'1%6% %/ )1%12 74 % +1%() %% % *8) + 9 "(:4 8) % ; *' 3 "( % '% + 4% % ) +' 455 %' 4 *' ( +% ) + %,)1 0 +

Leia mais

Desenvolvimento Web com JSP/Servlets

Desenvolvimento Web com JSP/Servlets Desenvolvimento Web com JSP/Servlets Requisitos Linguagem Java; Linguagem SQL; Noções de HTML; Noções de CSS; Noções de Javascript; Configuração do ambiente JDK APACHE TOMCAT MySQL Instalando o JDK Instalando

Leia mais

Scriptlets e Formulários

Scriptlets e Formulários 2 Scriptlets e Formulários Prof. Autor: Daniel Morais dos Reis e-tec Brasil Programação Avançada Para Web Página1 Meta Permitir ao aluno aprender a criar um novo projeto Java para web no Netbeans IDE,

Leia mais

Guia para Iniciantes do WebWork

Guia para Iniciantes do WebWork Guia para Iniciantes do WebWork Marcelo Martins Este guia descreve os primeiros passos na utilização do WebWork Introdução Desenvolver sistemas para Web requer mais do que simplesmente um amontoado de

Leia mais

Servlets & JSP. Prof. Ramon Chiara

Servlets & JSP. Prof. Ramon Chiara Servlets & JSP Prof. Ramon Chiara Java JSE Java Standard Edition JME Java Micro Edition JEE Jave Enterprise Edition Java JSE Java Standard Edition JME Java Micro Edition JEE Jave Enterprise Edition Web

Leia mais

Introdução a Servlets e JSP. Prof. Samuel Martins samuellunamartins at gmail dot com Faculdade São Miguel

Introdução a Servlets e JSP. Prof. Samuel Martins samuellunamartins at gmail dot com Faculdade São Miguel Introdução a Servlets e JSP samuellunamartins at gmail dot com Conteúdo da aula Introdução a HTML Introdução a Servlets Preparando o ambiente de programação Exemplo de Servlets 2 Websites na década de

Leia mais

Unidade 9: Middleware JDBC para Criação de Beans

Unidade 9: Middleware JDBC para Criação de Beans Programação Servidor para Sistemas Web 1 Unidade 9: Middleware JDBC para Criação de Beans Implementando MVC Nível 1 Prof. Daniel Caetano Objetivo: Preparar o aluno para construir classes de entidade com

Leia mais

Java Web. Ricardo Terra rterrabh [at] gmail.com

Java Web. Ricardo Terra rterrabh [at] gmail.com Java Web Ricardo Terra rterrabh [at] gmail.com Ricardo Terra (rterrabh [at] gmail.com) Java Web Outubro, 2008 1 CV Nome: Ricardo Terra Email: rterrabh [at] gmail.com www: ricardoterra.com.br Twitter: rterrabh

Leia mais

Programação WEB Introdução

Programação WEB Introdução Programação WEB Introdução Rafael Vieira Coelho IFRS Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Sul Campus Farroupilha rafael.coelho@farroupilha.ifrs.edu.br Roteiro 1) Conceitos

Leia mais

Unidade 14: Web Services Prof. Daniel Caetano

Unidade 14: Web Services Prof. Daniel Caetano Programação Servidor em Sistemas Web 1 Unidade 14: Web Services Prof. Daniel Caetano INTRODUÇÃO Na maior parte deste curso foram estudados serviços desenvolvidos com o uso de tecnologias Servlet. Entretato,

Leia mais

J550. Model View Controller

J550. Model View Controller J550 Model View Controller 1 Design de aplicações JSP Design centrado em páginas Aplicação JSP consiste de seqüência de páginas (com ou sem beans de dados) que contém código ou links para chamar outras

Leia mais

JSTL: Uma forma padrão de desenvolver página WEB dinâmica Plácido Antonio de Souza Neto placidoneto@cefetrn.br

JSTL: Uma forma padrão de desenvolver página WEB dinâmica Plácido Antonio de Souza Neto placidoneto@cefetrn.br JSTL: Uma forma padrão de desenvolver página WEB dinâmica Plácido Antonio de Souza Neto placidoneto@cefetrn.br 26/11/2005 JSTL 1 Agenda Histórico e motivação; Servlets e JSP; Introdução e conceituação

Leia mais

Programação Na Web. Servlets: Como usar as Servlets. Agenda. Template genérico para criar Servlets Servlet 2.4 API

Programação Na Web. Servlets: Como usar as Servlets. Agenda. Template genérico para criar Servlets Servlet 2.4 API Programação Na Web Servlets: Como usar as Servlets 1 António Gonçalves Agenda Template genérico para criar Servlets Servlet 2.4 API Exemplo: Hello World Output: Texto, HTML e hora local. Compilar uma Servlets

Leia mais

Desenvolvimento de aplicações Web. Java Server Pages

Desenvolvimento de aplicações Web. Java Server Pages Desenvolvimento de aplicações Web Java Server Pages Hamilton Lima - athanazio@pobox.com 2003 Como funciona? Servidor web 2 Internet 1 Browser 3 Arquivo jsp 4 JSP Compilado 2 Passo a passo 1 browser envia

Leia mais

Material de apoio a aulas de Desenvolvimento Web. Tutorial Java WEB JSP & HTML & CSS & CLASSE & OBJETOS. AAS - www.aas.pro.

Material de apoio a aulas de Desenvolvimento Web. Tutorial Java WEB JSP & HTML & CSS & CLASSE & OBJETOS. AAS - www.aas.pro. Material de apoio a aulas de Desenvolvimento Web Tutorial Java WEB JSP & HTML & CSS & CLASSE & OBJETOS AAS - www.aas.pro.net Março-2012 Este pequeno tutorial tem como objetivo conduzir o programador passo-a-passo

Leia mais

Aplicações de Linguagem de Programação Orientada a Objeto

Aplicações de Linguagem de Programação Orientada a Objeto Aplicações de Linguagem de Programação Orientada a Objeto WEB JSP Professora Sheila Cáceres JSP É uma tecnologia que permite incluir código Java dentro de páginas web. Uma página jsp é uma página HTML

Leia mais

UNIDADE II JAVA SERVLETS

UNIDADE II JAVA SERVLETS UNIDADE II JAVA SERVLETS INTERNET É uma rede de redes, reunindo computadores do Governo, de universidades e empresas fornecendo infra-estrutura para uso de bancos de dados, correio eletrônico, servidores

Leia mais

Mini-Tutorial. Como criar relatórios Java para Web com JasperReports e ireport por Roberto J. Furutani 20/07/2005 www.furutani.eti.

Mini-Tutorial. Como criar relatórios Java para Web com JasperReports e ireport por Roberto J. Furutani 20/07/2005 www.furutani.eti. Mini-Tutorial Como criar relatórios Java para Web com JasperReports e ireport por Roberto J. Furutani 20/07/2005 www.furutani.eti.br 1. Introdução O objetivo deste trabalho é mostrar de forma prática como

Leia mais

Estudo Dirigido - Parte 1

Estudo Dirigido - Parte 1 Linguagem Java para Web - JSP Professora Lucélia Estudo Dirigido - Parte 1 Na primeira parte deste tutorial, vamos receber os dados de um formulário e verificar se os dados foram ou não preenchidos. Se

Leia mais

Tecnologias para Web

Tecnologias para Web Tecnologias para Web Carlos Lucena lucena@inf.puc-rio.br Vitor Pellegrino vitorp@gmail.com Cidiane Lobato cidianelobato@yahoo.com.br Andrew Diniz andrew@les.inf.puc-rio.br Agenda Servlets MVC JSP Taglibs

Leia mais

Java Server Pages. Arquitectura de uma aplicação distribuída em Internet. Figura 1 Modelo 2

Java Server Pages. Arquitectura de uma aplicação distribuída em Internet. Figura 1 Modelo 2 Java Server Pages Arquitectura de uma aplicação distribuída em Internet Figura 1 Modelo 2 A implementação desta arquitectura, com um controlador que direcciona a execução de s, de Servlets e de JavaBeans,

Leia mais

Desenvolvimento WEB em JAVA. Palestrante: Lourival F. de Almeida Júnior

Desenvolvimento WEB em JAVA. Palestrante: Lourival F. de Almeida Júnior Desenvolvimento WEB em JAVA Palestrante: Lourival F. de Almeida Júnior Agenda Introdução Servlet Arquitetura de Software Velocity Struts Conclusão Referências Introdução (antes) Programador Produto Introdução

Leia mais

Prova Específica Cargo Desenvolvimento

Prova Específica Cargo Desenvolvimento UNIVERSIDADE FEDERAL DO PIAUÍ Centro de Educação Aberta e a Distância CEAD/UFPI Rua Olavo Bilac 1148 - Centro CEP 64.280-001 Teresina PI Brasil Fones (86) 3215-4101/ 3221-6227 ; Internet: www.uapi.edu.br

Leia mais

Programando em PHP. Conceitos Básicos

Programando em PHP. Conceitos Básicos Programando em PHP www.guilhermepontes.eti.br lgapontes@gmail.com Conceitos Básicos Todo o escopo deste estudo estará voltado para a criação de sites com o uso dos diversos recursos de programação web

Leia mais

Formulários em HTML - O que são e para que servem

Formulários em HTML - O que são e para que servem Formulários em HTML - O que são e para que servem A tag - Os atributos action e method A primeira coisa que iremos fazer é usar a tag para podermos usarmos formulários. Antes de entrarmos

Leia mais

Uso de servlets nas aplicações web desenvolvidas para a plataforma java 1

Uso de servlets nas aplicações web desenvolvidas para a plataforma java 1 Uso de servlets nas aplicações web desenvolvidas para a plataforma java 1 Resumo Em uma interação feita em uma aplicação Web existem tarefas que devem ser executadas no servidor, tais como processamento

Leia mais

Java para Desenvolvimento Web

Java para Desenvolvimento Web Java para Desenvolvimento Web JSP Antes de iniciarmos a comentar sobre a Tecnologia Java Server Pages, teremos uma breve apresentação do Servidor (Web Contanier) TomCat. Então vamos lá. Servidor TomCat

Leia mais

Prática Sobre Servlets e JSP

Prática Sobre Servlets e JSP Prática Sobre Servlets e JSP 1. Localize a pasta do Tomcat (TOMCAT_HOME); 2. Acesse a pasta bin e execute tomcat5w.exe; 3. Abra o Navegador e acesse http://localhost:8080 (A apresentação de uma página

Leia mais

Introdução. Servlet. Ciclo Vida. Servlet. Exemplos. Prof. Enzo Seraphim

Introdução. Servlet. Ciclo Vida. Servlet. Exemplos. Prof. Enzo Seraphim Introdução Servlet Ciclo Vida Exemplos Servlet Prof. Enzo Seraphim Visão Geral São objetos de uma subclasse de javax.servlet (javax.servlet.httpservlet). Possuem um ciclo de vida. Incluem em seu código,

Leia mais

Curso de Java. Geração de Páginas WEB através de JSP. Todos os direitos reservados Klais

Curso de Java. Geração de Páginas WEB através de JSP. Todos os direitos reservados Klais Curso de Java Geração de Páginas WEB através de JSP Todos os direitos reservados Klais JSP e Servlets Servletsconstituem um mecanismo conveniente para a geração de páginas HTML dinâmicas e seu tratamento

Leia mais

Integrando Eclipse e Websphere Application Server Community Edition

Integrando Eclipse e Websphere Application Server Community Edition 1 Integrando Eclipse e Websphere Application Server Community Edition Sobre o Autor Carlos Eduardo G. Tosin (carlos@tosin.com.br) é formado em Ciência da Computação pela PUC-PR, pós-graduado em Desenvolvimento

Leia mais

Desenvolvimento WEB II. Professora: Kelly de Paula Cunha

Desenvolvimento WEB II. Professora: Kelly de Paula Cunha Desenvolvimento WEB II Professora: Kelly de Paula Cunha O Java EE (Java Enterprise Edition): série de especificações detalhadas, dando uma receita de como deve ser implementado um software que utiliza

Leia mais

Programação para a Internet. Prof. M.Sc. Sílvio Bacalá Jr sbacala@gmail.com www.facom.ufu.br/~bacala

Programação para a Internet. Prof. M.Sc. Sílvio Bacalá Jr sbacala@gmail.com www.facom.ufu.br/~bacala Programação para a Internet Prof. M.Sc. Sílvio Bacalá Jr sbacala@gmail.com www.facom.ufu.br/~bacala A plataforma WEB Baseada em HTTP (RFC 2068) Protocolo simples de transferência de arquivos Sem estado

Leia mais

Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br)

Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) Extensão de servidor escrita em Java Podem ser usados para estender qualquer tipo de aplicação do modelo requisição- resposta Todo servlet implementa a

Leia mais

Executando comandos do Sistema Operacional em uma aplicação WEB Java

Executando comandos do Sistema Operacional em uma aplicação WEB Java Executando comandos do Sistema Operacional em uma aplicação WEB Java Criei uma aplicação muito simples que demonstra como um Servlet pode invocar uma classe que efetua um comando qualquer no sistema operacional.

Leia mais

20/08/14 JAVA SERVLETS CONCEITOS CONTEÚDO ARQUITETURA DE UMA APLICAÇÃO WEB ARQUITETURA DA APLICAÇÃO WEB

20/08/14 JAVA SERVLETS CONCEITOS CONTEÚDO ARQUITETURA DE UMA APLICAÇÃO WEB ARQUITETURA DA APLICAÇÃO WEB CONTEÚDO TECNOLOGIA EM INFORMÁTICA PARA NEGÓCIOS JAVA CONCEITOS Prof. Dr. Henrique Dezani dezani@fatecriopreto.edu.br Arquitetura de uma aplicação Web HTTP (HyperText Transfer Protocol) Métodos HTTP GET

Leia mais

INTRODUÇÃO À TECNOLOGIA SERVLETS

INTRODUÇÃO À TECNOLOGIA SERVLETS PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB INTRODUÇÃO À TECNOLOGIA SERVLETS Prof. Dr. Daniel Caetano 2012-1 Objetivos Apresentar o conceito aplicações orientada a serviços via web Apresentar o papel dos contentores

Leia mais

Lista de Revisão. 3. Analise a afirmativa a seguir como verdadeira ou falsa e justifique.

Lista de Revisão. 3. Analise a afirmativa a seguir como verdadeira ou falsa e justifique. Lista de Revisão 1. Nos sistemas web, geralmente os usuários apresentam dois problemas típicos, a desorientação e a sobrecarga cognitiva. Discorra sobre esses problemas. 2. Apresente as principais diferenças

Leia mais

Tecnologias Web. Java Servlets

Tecnologias Web. Java Servlets Tecnologias Web Java Servlets Cristiano Lehrer, M.Sc. O que são Servlets Extensões do servidor escritas em Java: Podem ser usados para estender qualquer tipo de aplicação do modelo requisição/resposta.

Leia mais

PROJETO PEDAGÓGICO DE CURSOS

PROJETO PEDAGÓGICO DE CURSOS 1 de 6 PROJETO PEDAGÓGICO DE CURSOS BURITREINAMENTOS MANAUS-AM NOVEMBRO / 2014 2 de 6 PACOTES DE TREINAMENTOS BURITECH A Buritech desenvolveu um grupo de pacotes de treinamentos, aqui chamados de BuriPacks,

Leia mais

Prof.ª Daniela Barreiro Claro

Prof.ª Daniela Barreiro Claro Prof.ª Daniela Barreiro Claro A API JavaServlet é uma extensão da plataforma Java que permite que os desenvolvedores adicionem, nos servidores Web, mecanismos que estendam sua funcionalidade. Um servlet

Leia mais

JSP (Java Server Pages)

JSP (Java Server Pages) JSP (Java Server Pages) Instituto Federal de Educação, Ciência e Tecnologia do Triângulo Mineiro Prof. Edwar Saliba Júnior 1 Introdução Tecnologia para desenvolvimento de aplicações WEB fundamentada na

Leia mais

J550. Helder da Rocha (helder@acm.org) www.argonavis.com.br

J550. Helder da Rocha (helder@acm.org) www.argonavis.com.br J550 Helder da Rocha (helder@acm.org) www.argonavis.com.br 1 O que são Filtros Um filtro éum componente Web que reside no servidor Intercepta as requisições e respostas no seu caminho até o servlet e de

Leia mais

WWW - World Wide Web

WWW - World Wide Web WWW World Wide Web WWW Cap. 9.1 WWW - World Wide Web Idéia básica do WWW: Estratégia de acesso a uma teia (WEB) de documentos referenciados (linked) em computadores na Internet (ou Rede TCP/IP privada)

Leia mais

Programação para Internet II

Programação para Internet II Programação para Internet II Aulas 01 e 02 Prof. Fernando Freitas Costa http://blog.fimes.edu.br/fernando nando@fimes.edu.br Conteúdo Programático Instalação e configuração básica do Eclipse Indigo e do

Leia mais

Desenvolvimento Web XHTML Formulários. Prof. Bruno E. G. Gomes

Desenvolvimento Web XHTML Formulários. Prof. Bruno E. G. Gomes Desenvolvimento Web XHTML Formulários Prof. Bruno E. G. Gomes 2014 Introdução Um recurso bastante utilizado no desenvolvimento Web é o envio de dados de uma página para o servidor quando fornecemos informações,

Leia mais

Tutorial. Começando a Criar Aplicativos SMS

Tutorial. Começando a Criar Aplicativos SMS Tutorial Começando a Criar Aplicativos SMS Para começar Neste tutorial você vai entender como criar e integrar um aplicativo SMS usando a Brazapp. Para uma melhor compreensão, passaremos por todos os passos:

Leia mais

J2EE. Projeto de Sistemas de Software

J2EE. Projeto de Sistemas de Software J2EE Projeto de Sistemas de Software Agenda Visão geral da Arquitetura J2EE Servlets Boas Práticas JSP Laboratório de Engenharia de Software PUC-Rio 2 J2EE (Java 2 Enterprise Edition) Plataforma de Tecnologias

Leia mais

Arquiteturas de Aplicações Web. Leonardo Gresta Paulino Murta leomurta@ic.uff.br

Arquiteturas de Aplicações Web. Leonardo Gresta Paulino Murta leomurta@ic.uff.br Arquiteturas de Aplicações Web Leonardo Gresta Paulino Murta leomurta@ic.uff.br Aplicações Convencionais vs. Web Aplicações convencionais Escritas usando uma linguagem de programação (ex.: Java) Sites de

Leia mais

WebWork 2. João Carlos Pinheiro. jcpinheiro@cefet-ma.br

WebWork 2. João Carlos Pinheiro. jcpinheiro@cefet-ma.br WebWork 2 João Carlos Pinheiro jcpinheiro@cefet-ma.br Versão: 0.5 Última Atualização: Agosto/2005 1 Agenda Introdução WebWork 2 & XWork Actions Views Interceptadores Validação Inversão de Controle (IoC)

Leia mais

Universidade da Beira Interior

Universidade da Beira Interior Universidade da Beira Interior Relatório Apresentação Java Server Pages Adolfo Peixinho nº4067 Nuno Reis nº 3955 Índice O que é uma aplicação Web?... 3 Tecnologia Java EE... 4 Ciclo de Vida de uma Aplicação

Leia mais

Programação Web. Professor: Diego Oliveira. Conteúdo 02: JSP e Servlets

Programação Web. Professor: Diego Oliveira. Conteúdo 02: JSP e Servlets Programação Web Professor: Diego Oliveira Conteúdo 02: JSP e Servlets JSP JSP é um template de uma página Web que usa Java para gerar HTML dinamicamente JSP é considerado server-side e roda em um objeto

Leia mais

Criação de Servlets Name Directory Build WAR JSP/Servlet frameworks Launch URL Package Class name Generate header comments

Criação de Servlets Name Directory Build WAR JSP/Servlet frameworks Launch URL Package Class name Generate header comments Criação de Servlets 1. Crie um novo projeto através do Menu File New Project. 2. Acesse o Menu File New. 3. Na janela Object Gallery que surgirá, selecione a guia Web. 4. Escolha o ícone que corresponde

Leia mais

Desenvolvimento Web TCC-00.226 Turma A-1

Desenvolvimento Web TCC-00.226 Turma A-1 Desenvolvimento Web TCC-00.226 Turma A-1 Conteúdo JavaServer Pages (JSP) Professor Leandro Augusto Frata Fernandes laffernandes@ic.uff.br Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2013.2/tcc-00.226

Leia mais

DWR DIRECTED WEB REMOTING

DWR DIRECTED WEB REMOTING DWR DIRECTED WEB REMOTING Vamos ver nesse artigo um pouco sobre o Frameworks Ajax para Java, o DWR. Vamos ver seus conceitos, utilidades, vantagens, algumas práticas e fazer o passo a passo para baixar,

Leia mais

Nome N Série: Ferramentas

Nome N Série: Ferramentas Nome N Série: Ferramentas Competências: Identificar e utilizar técnicas de modelagem de dados; Habilidades: Utilizar ferramentas de apoio ao desenvolvimento de software; Bases Tecnológicas: Metodologias

Leia mais

PROGRAMAÇÃO PARA WEB

PROGRAMAÇÃO PARA WEB PROGRAMAÇÃO PARA WEB MINISTÉRIO DA EDUCAÇÃO PRÓ-REITORIA DE ENSINO DEPARTAMENTO DE EDUCAÇAO À DISTÂNCIA ESCOLA TÉCNICA ABERTA DO PIAUÍ - ETAPI CAMPUS TERESINA CENTRAL PROGRAMAÇÃO PARA WEB DISCIPLINA: PROGRAMAÇÃO

Leia mais

Capítulo 1 - Preparando o Ambiente - 1 - - - - - - - - - - - - - - Capítulo 2 Xhtml - 35 Capítulo 3 - Aplicação Web - 87

Capítulo 1 - Preparando o Ambiente - 1 - - - - - - - - - - - - - - Capítulo 2 Xhtml - 35 Capítulo 3 - Aplicação Web - 87 Capítulo 1 - Preparando o Ambiente - 1 1.1. JDK - 1 1.1.1. Download - 1 1.1.2. JDK Instalando - 3 1.1.3. JDK - Configurando e Testando - 7 1.2. Netbeans 8-11 1.2.1. Download - 11 1.2.2. Instalando - 13

Leia mais

Aula 4. Objetivos. Conteúdo dinâmico na internet.

Aula 4. Objetivos. Conteúdo dinâmico na internet. Aula 4 Objetivos Conteúdo dinâmico na internet. Para uma solicitação da Web mais simples, um navegador solicita um documento HTML e o servidor Web encontra o arquivo correspondente e devolve. Se o documento

Leia mais

Programação em Rede. Servlets. Manipulação de dados de input em Servlets

Programação em Rede. Servlets. Manipulação de dados de input em Servlets Servlets Manipulação de dados de input em Servlets Os dados de um formulário podem ser utilizados para pedidos GET ou POST. Com servlets JAVA esta operação é efectuada pelo método getparameter de HttpServletRequest,

Leia mais

WEBDESIGN. Professor: Paulo Trentin paulo@paulotrentin.com.br http://www.paulotrentin.com.br Escola CDI de Videira

WEBDESIGN. Professor: Paulo Trentin paulo@paulotrentin.com.br http://www.paulotrentin.com.br Escola CDI de Videira WEBDESIGN Professor: Paulo Trentin paulo@paulotrentin.com.br http://www.paulotrentin.com.br Escola CDI de Videira 1 CDI - Curso de Webdesign - Prof. Paulo Trentin Objetivos para esta aula Debater sobre

Leia mais

Desenvolva aplicações para a nuvem com CloudBees - Revista Java Magazine 116

Desenvolva aplicações para a nuvem com CloudBees - Revista Java Magazine 116 Desenvolva aplicações para a nuvem com CloudBees - Revista Java Magazine 116 Este artigo tem por objetivo apresentar a plataforma CloudBees, que proporciona ao desenvolvedor maior facilidade nos procedimentos

Leia mais

SCC-0263. Técnicas de Programação para WEB. Rodrigo Fernandes de Mello http://www.icmc.usp.br/~mello mello@icmc.usp.br

SCC-0263. Técnicas de Programação para WEB. Rodrigo Fernandes de Mello http://www.icmc.usp.br/~mello mello@icmc.usp.br SCC-0263 Técnicas de Programação para WEB Rodrigo Fernandes de Mello http://www.icmc.usp.br/~mello mello@icmc.usp.br 1 Cronograma Fundamentos sobre servidores e clientes Linguagens Server e Client side

Leia mais