Desenvolvimento de aplicações web com JSP Leandro Soares de Sousa, Paulo Henrique de Sousa Sistemas de Informação – Centro Universitário Luterano de Palmas (CEULP/ULBRA) Cx. Postal 160 – 77054-970 – Palmas – TO – Brasil {leandroleo2, paulohenrique.sous4}@gmail.com Resumo: O desenvolvimento de aplicações web tornou-se dinâmico e personalizado com a evolução da internet. Diversas tecnologias influenciaram nesta revolução. Dentre estas se destaca o JSP (Java Server Pages), pois todas as vantagens como portabilidade, independência de plataforma e programação orientada a objetos foram herdadas da linguagem Java. Isoo tornou o JSP uma linguagem bastante difundida na construção de Web Sites. 1. Introdução Desde a criação da web a forma de disposição das informações foi sendo constantemente modificadas. No inicio, as informações era apresentadas de maneira estática, ou seja, sem modificações em tempo de execução. Atualmente os dados são manipulados tornando possível a personalização de apresentação da informação. No presente trabalho serão apresentados conceitos de construção de aplicativos web com a utilização de JSP. No mercado existem diversas ferramentas capazes de fornecer o ambiente para o desenvolvimento de aplicações com JSP. Para o mini-curso (que é o objetivo deste trabalho) será utilizada a IDE Netbeans, pois está dispõe de um ambiente completo no que tange o desenvolvimento de aplicações web com JSP. Este trabalho está organizado da seguinte forma: na seção 2 será apresentada a estrutura cliente/servidor, na seção 3 demonstra o processo de interpretação de paginas JSP, na seção seguinte (4) elucida a conexão a uma base de dados, por fim, na seção 5 é demonstrada a conclusão. 2. Arquitetura de aplicações web A arquitetura em que o JSP foi concebido (cliente/servidor) permite que as páginas desenvolvidas troquem informações dentro de uma rede. Essa arquitetura é usualmente utilizada em contextos onde o servidor aguarda requisições, processa as solicitações enviadas e devolve o resultado deste processamento. A aplicação cliente é responsável por fazer chamadas a eventos do servidor além de receber e apresentar o resultado da solicitação (Duchessi & Chehgalur-Smith, 1998). A figura a seguir exemplifica o modelo de comunicação. SOUSA, Leandro Soares de, SOUZA, Paulo Henrique de. Desenvolvimento de aplicações web com JSP. In: XI Encontro de Estudantes de Informática do Tocantins, 2009, Palmas. Anais do XI Encontro de Estudantes de Informática do Tocantins. Palmas: Centro Universitário Luterano de Palmas, 2009. p. 39-43. Disponível em: http://tinyurl.com/yz9w42z Figura 1. Modelo de arquitetura cliente/servidor. Na figura anterior é possível observar que o funcionamento se dá pela solicitação ao servidor pelo navegador cliente via HTTP. O servidor por sua vez processa a solicitação e devolve o resultado pelo mesmo protocolo ao cliente. 3. Interpretação e compilação de páginas JSP JSP é uma tecnologia voltada para o desenvolvimento de web sites por meio da utilização da linguagem Java (JCP, 2003). Como conseqüência as aplicações desenvolvidas em JSP herdam todas as vantagens de utilização da referida linguagem: orientação a objetos, multiplataforma e gerenciamento de memória. Os documentos desenvolvidos em JSP apresentam o resultado do processamento do servidor mediante alguma solicitação. Quando uma página JSP é solicitada pela primeira vez, um Servlet correspondente a página é acionado, após sua execução/compilação uma página HTML é gerada e enviada para o navegador do cliente responsável pela requisição. A partir da segunda requisição o processo de compilação não será mais necessário trazendo um ganho no tempo de resposta ao cliente. A figura a seguir demonstra um exemplo simples de uma pagina JSP. SOUSA, Leandro Soares de, SOUZA, Paulo Henrique de. Desenvolvimento de aplicações web com JSP. In: XI Encontro de Estudantes de Informática do Tocantins, 2009, Palmas. Anais do XI Encontro de Estudantes de Informática do Tocantins. Palmas: Centro Universitário Luterano de Palmas, 2009. p. 39-43. Disponível em: http://tinyurl.com/yz9w42z Figura 2. Exemplo de uma página JSP. A figura acima apresenta uma estrutura básica de formação de um documento JSP. Nota-se a disposição de conteúdo estático, mas principalmente de conteúdo que é passível de processamento no servidor. Este conteúdo processável pelo servidor é delimitado pelos símbolos (tags) de “<%” e “%>”. Ao ser solicitado o conteúdo processado no servidor é transformado em HTML ocultando o código originário. Em algumas situações deseja-se proteger determinada parte da informação, pois nem todos os usuários podem efetuar alterações ou até mesmo visualizar determinado conteúdo. Diante de tal situação, a tecnologia JSP dispõe de objetos implícitos responsáveis por auxiliar no controle de acesso a determinados arquivos. O principal objeto para tal controle é chamado de “session”. Dentre as suas características destacam-se (Nickk & Mark, 2003): • Armazenar informações de data e hora do ultimo acesso para uma sessão particular; • Permitir à adição de outros objetos a sessão para utilização posteriormente. Com a utilização de tais características o controle das informações de acesso pode ser facilmente aplicado a todo o sistema, garantindo a integridade de informações particulares a determinado contexto. SOUSA, Leandro Soares de, SOUZA, Paulo Henrique de. Desenvolvimento de aplicações web com JSP. In: XI Encontro de Estudantes de Informática do Tocantins, 2009, Palmas. Anais do XI Encontro de Estudantes de Informática do Tocantins. Palmas: Centro Universitário Luterano de Palmas, 2009. p. 39-43. Disponível em: http://tinyurl.com/yz9w42z 4. Acessando uma fonte de dados Quando se necessita acessar qualquer base de dados é necessária a utilização de API`s JDBC (Java Database Connectivy). As classes JDBC`s são compostas de métodos para interação direta com as bases de dados como: inserção, alteração, exclusão e consulta de dados. Diversas são as API`s encontradas no mercado. Para cada base de dados existente no mercado existe um drive JDBC correspondente. Figura 3. Modelo de conexão com base de dados A figura 3 apresenta os passos para estabelecimento de uma conexão com o banco de dados MySQL. Na primeira linha é recuperado o drive para a base de dados que será acessada, logo após, é estabelecida a conexão com a base por meio da instanciação da classe “Connection” através do método “getConnection” da classe “DriverManager”. Na instanciação da classe Connection é informado o tipo da conexão, caminho da base de dados, usuário e senha para o acesso a fonte de dados. A partir de então operações como abertura de conexão, inserção e deleção de dados tornam-se possíveis. 5. Conclusão Com a evolução da web e a competitividade cada vez maior no mercado de desenvolvimento de sistemas torna-se fundamental a utilização de maneiras dinâmicas e praticas de disponibilizar a informação. O presente trabalho teve como objetivo explanar brevemente sobre a tecnologia JSP e alguns de seus recursos, apresentado-a como uma opção relevante para aplicações web personalizadas. Isso se deve em parte pelas características herdadas da linguagem Java e pelo simplificado processo de interpretação e compilação de seus arquivos. Em meio às várias opções de tecnologias voltadas a construção de web sites o JSP torna-se bastante para o desenvolvimento de soluções multiplataformas e com as qualidades advindas de uma linguagem em plena expansão como é o caso do Java. SOUSA, Leandro Soares de, SOUZA, Paulo Henrique de. Desenvolvimento de aplicações web com JSP. In: XI Encontro de Estudantes de Informática do Tocantins, 2009, Palmas. Anais do XI Encontro de Estudantes de Informática do Tocantins. Palmas: Centro Universitário Luterano de Palmas, 2009. p. 39-43. Disponível em: http://tinyurl.com/yz9w42z Referências Bibliográficas Duchessi, P. & Chengalur-Smith, I. (1998). Client/Server benefits, problems, Best practices. Communications of the ACM, 41(5). 87-94. JCP (2003). JCP – JAVASERVER PAGES SPECIFICATION – JAVA COMMUNITY PROCESS, JSR – 000152 JavaServer PagesTM 2.0 Specifications. Disponível em: <http://jcp.org/aboutJava/communityprocess/first/jsr152/index3.html> Acessado em: Outubro de 2006; JCP (2003b). SERVLET SPECIFICATION – JAVA COMMUNITY PROCESS, JSR – 000154 JavaTM Servlet 2.4 Specifications. Disponível em: <http://jcp.org/aboutJazva/communityprocess/final/jsr154/index.html> Acessado em: Outubro de 2006; T., Nick e S., Mark. (2003). JavaServer Pages: o guia de desenvolvimento / Tood, Nick e Szolkowski, Rio de Janeiro: Elsevier, 2003. ISBN 85-352-1324-4 SOUSA, Leandro Soares de, SOUZA, Paulo Henrique de. Desenvolvimento de aplicações web com JSP. In: XI Encontro de Estudantes de Informática do Tocantins, 2009, Palmas. Anais do XI Encontro de Estudantes de Informática do Tocantins. Palmas: Centro Universitário Luterano de Palmas, 2009. p. 39-43. Disponível em: http://tinyurl.com/yz9w42z