Top Posts

JSF com JBoss Tools no Eclipse

Continue lendo

Aplicações JEE com JSP + JSTL + MYSQL

Posted by Camilo Lopes | Posted in BD | Posted on 14-08-2009

7

olá Pessoal,

Quero pedir desculpas pela falta de posts técnicos nas ultimas semanas, infelizmente venho tendo alguns problemas de saúde o qual estava me impedindo de dar continuidade aos meus projetos pessoais como o blog entre outros(onde pensei a cerca de alguns dias em abandona-los). E felizmente estou me recuperando aos poucos(com ajuda de um profissional na área de saúde), mas acredito que em algumas semanas estarei 100%. E o primeiro passo foi escrever esse post, onde irei explicar como conectar e realizar operações em um BD (MySQL) usando apenas JSP + JSTL, ou seja, não precisamos de nenhuma classe .java. Mas, essa prática não está dentro do padrão MVC, o qual é recomendado para desenvolvimento. Então por que você criou o tópico Camilo? Simples, para que os iniciantes em JEE não queira ir pelo caminho mais fácil (não que pelo caminho MVC seja mais difícil)o que é natural na maioria do ser humano de sempre dar preferência aquilo que é mais fácil e rápido. Desenvolver usando a estrutura apresentada a seguir pode ser rápido e fácil, porém há várias limitações e problemas, principalmente no processo de manutenção e evolução da aplicação.

Lets go…

Outros Posts:

Requisitos:

  • Mysql

  • Eclipse

  • Tomcat

  • Java – JDK

Para quem não sabe o que é JSTL:

o JSTL JavaServer Pages Standard TAG Library faz parte das especificações do J2EE que define um conjunto de extensões das tags JSP. O objetivo destas tags é substituir os scripts na página, facilitando a manutenção e o entendimento de uma página JSP.

Por exemplo para receber os parâmetros de uma página, ao invés de utilizarmos programação em Java, poderiamos receber as informações utilizando o código a seguir.

<c:set var=”login” value=”${param.login}” />

Aqui to criando uma variável login que vai receber o valor do parâmetro login no meu form.

Pode-se usar: instruções condicionais, tratamento de erros, manipulação de variáveis, importar conteúdo de outra pagina web, redirecionar uma página.

<c:import> importar conteúdo de um página. <c:import url =” /menu/esquerda.jsp”/>

<c: redirect > Redirecionar para outra URL <c:redirect url=“/dados/end.jsp”/>

Para usar JSTL em suas páginas JSP precisa importar a biblioteca e o prefixo de uso, veja:

<%@ taglib prefix=“c” uri=http://java.sun.com/jsp/jstl/core%>

Veja alguns exemplos de JSTL em ação:

Semelhante ao comando if do do java. A palavra “test” faz parte da estrutura dessa comando. Observe que passei o valor usando EL.

<c:if test=”${(2<20)}”>

<br> 2 menor que 20

</c:if>

<c:set var=”idade” value=”10″ /><br>

${(idade >= 10) ? “Maior que 10″ : “Menor que 10″}

<br>

<c:if test=”${(idade < 11)}”>

Adoslecente

</c:if>

Aqui tem efeito bem parecido com a instrução switch que temos no java. Otherwise é executado caso o teste seja false.

<c:choose>

<c:when test=”${4<3}”>

O valor é menor

</c:when>

<c:when test=”${2==2}”>

igual

</c:when>

<c:otherwise>

O valor nao é menor

</c:otherwise>

</c:choose>

Aqui to configurando uma variavel chamada “nome” com o valor “camilo”e em seguida mando imprimir com usando a EL.

<c:set var=”nome” value=”Camilo” />

${ nome }

Usando forEach mesmo efeito do forEach que temos no java.

<c:forEach var=”num” begin=”1″ end=”5″>

<c:out value=”${num}”></c:out>

</c:forEach>

Conectando BD com JSTL

Agora vamos estabelecer uma conexão com um BD via JSTL. Para isso usaremos a biblioteca sql de JSTL. Então devemos declarar isso em nosso JSP.

<%@ taglib prefix=“sql” uri=“http://java.sun.com/jsp/jstl/sql”%>

  1. crie um BD + uma tabela com os campos:
    idcategoria (integer)
    categoria(varchar(20))

  2. Crie uma pagina jsp (eu crie uma chamada incluircategoria.jsp). Agora vamos criar a variável de conexão na página jsp.

    <sql:setDataSource var=“conexao” dataSource=“jdbc:mysql://127.0.0.1/test,com.mysql.jdbc.Driver,lopes,123”/>

  3. precisamos verificar se o usuario realmente digitou algo no campo nome do formulário. É possível testar isso com JSTL veja o código dessa página:

    JSTLimg2

No codigo acima caso ele tenha digitado algo, inserimos o conteúdo no BD.

Agora vamos criar um comando que vai deletar com base no codigo.

JSTLimg1

Agora abra o browse e digite: http://localhost:8080/SUA_APP/incluircategorias.jsp

O resultado será conforme a imagem a seguir:

JSTLimg3

Teste o recurso de excluir,veja o resultado a seguir:

JSTLimg4

Flw! Pessoal, espero que tenham curtido o post. Não posso deixar de chamar atenção para aqueles que acham JSTL uma “bobagem” se fizer uma pesquisa em algumas vagas de emprego para Java, algumas tem como requisito saber JSTL(principalmente as de programador júnior java). Abraço a todos e até a próxima.

Related Posts with Thumbnails

Comments (7)

Ótimo post Camilo!

Queria te desejar melhoras..
E mais uma vez quero parabenizar seu blog, é muita qualidade reunida em um só local ( não desista dele ) ..!

Realmente concordo contigo, muitas pessoas falam que ‘não compensa’ aprender JSTL, mas cada dia que passa mais tenho a prova do contrario.

Abraços

Bom post relacionado com JSTL, é realmente importante … porém, é interessante que não haja acoplamento entre as camadas !

Digo em relação a colocar a conexão com o banco de dados dentro da JSP …

Camilo, tenho visto seus últimos posts e realmente você está mandando muito bem. Parabéns pelo conteúdo que você traz meu caro!
Abraços.

Ué Camilo … você só libera os comentários que falam bem dos seus posts ?? Seria interessante que todos pudessem postar aqui suas opiniões … Depois dessa não faço mais nenhum comentário (acho que críticas construtivas servem para o crescimento, mas pelo o que ví, você não gosta). Se tiver alguma dúvida do comentário anterior que fiz (que fazer a conexão com o banco diretamente pelo JSP não é uma boa pratica) então me manda um e-mail que te explico melhor.

Meu e-mail: ghcastellano@gmail.com

olá Gustavo,

Primeiramente eu nao olho a cada minuto os comentarios do blog, seleciono um horario/dia em minha agenda para aprovar todos os comentarios. Segundo o blog recebe mais de 30 spams por dia e por isso devo gerenciar os comentarios senao vai ficar posts com varios comentarios spam. E terceiro momento nenhum estimulei ou disse que usar JSP para conectar com bando de dados seria uma boa prática, o post é para quem está tendo os primeiros contatos com a plataforma JEE e ver o que é possivel fazer, mas nao quer dizer que o é possivel é bom. Claro quem ja desenvolve em JEE utilizando o padrao MVC por exemplo sabe dos problemas disso.
obrigado.

opa! Juliano,

Valeu, obrigado! Ver se aparece 😀

Write a comment