Aplicações JEE com JSP + JSTL + MYSQL

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.

7 comentários em “Aplicações JEE com JSP + JSTL + MYSQL”

  1. Ó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

  2. Gustavo Castellano

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

  3. Gustavo H. C.

    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

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *