Para quem estar iniciando no mundo JEE, sempre tema uma duvida o que é um JSP? E qual sua real utilidade? Neste post tentarei explicar esse “bicho” JSP.
Lembrando que há muitos detalhes técnicos sobre JSP que não vou abordar nesse post, já que o objetivo aqui é dar uma introdução generalizada sobre JSP.
Let’s GO..
Pré-Requisito para rodar páginas JSP
JavaServer Pages (JSP) são páginas Java embebidas( cheio do corote) em HTML. Uma página dinâmica é gerada pelo código JSP.
Em outras palavras JSP é uma página bem parecida com uma página HTML, com a diferença de que podemos inserir Java dentro da página.
Estrutura JSP:
<% %> tag para adicionar o comando Java desejado, conhecido como scriptlet
<%– –%> comentário
<%! %> declaração de atributos ou métodos
<%= %> expressão de resultado
Diretivas
São usadas para fornecer informações especiais ditas ao Container sobre a página JSP.
Diretiva page: permite a importação de classes <%@ page %>
Pontos chaves sobre JSP:
– você vai usar quando não quer colocar seu código Servlet com HTML (PrintWriter)
– e quando quer escrever código Java em jsp
– em uma expressão (<%= %>), você não pode usar o método com o tipo de retorno void como uma expressão. O Container vai descobrir que não há nada para exibir pra esse método e o que verá será apenas erro.
Exemplo 1 : ola.jsp
<html>
<body>
<% out.println(“olá Mundo!”);
%>
</body>
</html>
É o mesmo: Ola.java
public class Ola{
public static void main(String args[]){
System.out.println(“ola Mundo”);
}}
Exemplo 2: com importação de classes Java:
<html>
<body>
<%– importando a class java –%>
<%@ page import=”java.util.Date,java.text.DateFormat”%>
<%– declarando um metodo –%>
<%! String exibir(){
Date d = new Date();
DateFormat df = DateFormat.getDateInstance(1);
String resultado = df.format(d);
return resultado;
}
%>
<%– Exibindo o resultado –%>
<%= “Seja bem vindo: ” + exibir() %>
</body>
</html>
Exemplo 3: Criando um contador de acesso.
<html>
<body>
<%! int cont=0;
//declarei como static
%>
Essa página ja foi acessada
<%=
//usando expressores para imprimir
++cont %>
</body>
</html>
Distribuindo JSP:
– para distribuir e testar seu JSP é simples coloque no caminho /webapps/sua_aplicacao
– abra o browser e digite HTTP://localhost/sua_aplicacao/nomedoarquivo.jsp
Há desvantagem em usar Java em JSP?
Bom se você for daqueles programadores que quer colocar todo Java em JSP terá problemas no futuro.
Imagine que você tenha uma monte de arquivos JSP abarrotado de código Java enfiadas em cada pedaço da página acomodadas entre scriplets, expressões. Daí como o seguinte: você tem que saber ler e entender estes elementos e como manter páginas escritas com eles, caso contrario o seu sistema chega naquela situação: “não consigo mais mexer”.
Não estou dizendo que não é para usar JSP, pelo contrario, “use mais com moderação”. Até por que a finalidade do JSP é executar códigos Java, mais isso não quer dizer que você programador deve fazer seu .jsp toda lógica do negócio, ou que venha fazer tudo que seu Servlet faz. Isso é colocar o “pé na cova”.
Posso comunicar meu JSP com meu Servlet ?
Sim, e deve. Normalmente é assim que acontece o Servlet recebe a solicitação, entregará a solicitação para o JSP.
Aguardem… Assunto do próximo do post.
Conclusão
Sempre que você quiser exibir aquele seu programa (Hello World) que fez quando iniciava com Java, porém agora quer exibi-lo no browser, use JSP & Servlet 🙂
Lembrando que JSP não é para colocar toda sua aplicação Java. Você pode usar para exibir no browser aquele ArrayList que está na class Lista.java mais você não que colocar a lógica do .java dentro do seu JSP, então essa é uma alternativa. Lembre-se que páginas JSP não precisam ser compiladas.
Incentivo
Para aprendizado, pegue seus arquivos .java (incluindo o “Hello World!”) e execute ele via JSP, depois via Servlet + JSP.
“não há aprendizado sem prática, sem ver exceções, erros de: compilação, declarações etc. Isso faz parte de qualquer nível de aprendizado se quiser ser um bom programador veja cada, erro, exceção como a velha coke”.
Um abraço a todos e até o próximo post!
MUITO SHOW O POST! PARABENS!
Sou novato em JAVA e suas vertentes, venho basicamente da vertente do PHP, estou acostumado com a escrita de aplicações web baseadas em scripts e O.O. o que me fez achar o JSP bem palpavel!
VALEU@!
Bom, uma coisa que eu particularmente gostei, é que as variáveis podem manter seu estado entre uma requisição e outra. Venho do PHP onde usamos recursos como sessões para emular isso.
Olá. Gostaria que alguém me ajudasse como chegar atá o teste do browser:
Criar projeto, pacote e classe, no jsp.
Já instalei o tomcat e o jsp.
Obrigado