na size=2>Clique aqui para ler todos os artigos desta ediçãoimagem_pdf.jpg

Nesta edição, recapitulamos um dos assuntos mais populares na Java Magazine: o desenvolvimento com JSP e servlets. Foram selecionadas quatro dicas, aindatotalmente atuais, do artigo “Dicas na Web” publicado na Edição 12, que resolvem dúvidas comuns e exploram detalhes importantes da programação web com Java.

 

Recapitulando

Dicas na Web

 

 

Neste artigo são apresentadas dicas úteis sobre JSP e servlets, soluções para problemas recorrentes no desenvolvimento web, e esclarecimentos sobre alguns procedimentos comuns.

 

Obtendo as versões de JSP e Servlets

As tecnologias JSP e servlets evoluíram muito desde suas primeiras versões. Por exemplo, a API de servlets 2.3 introduziu o conceito de filtros (interface javax.sevlet.Filter), e com o JSP 2.0, veio o suporte a uso da Expression Language dentro das páginas.

Para garantir a compatibilidade de suas aplicações web, portanto, é sempre importante saber as versões das APIs suportadas nos containers web utilizados. Os métodos getMajorVersion() e getMinorVersion() da classejavax.servlet.ServletContext permitem obter a versão da API de servlets. Esta classe fornece ainda o método getServerInfo(), que descreve o nome do servidor e sua versão.

Já para a versão da especificação JSP, é preciso obter um objeto javax.servlet.jsp.JspEngine e chamar seu método getSpecificationVersion(). A Listagem 1 contém uma página JSP que pode ser usada para obter essas informações.

 

Listagem 1. versoes.jsp, obtendo a versão das APIs web suportadas

<%@ page import=”javax.servlet.ServletContext” %>

<%@ page import=”javax.servlet.jsp.JspFactory” %>

 

<%

 

    ServletContext sc = pageContext.getServletContext();

    String servidor = sc.getServerInfo();

    String versaoServlet = “” + sc.getMajorVersion() + “.”

          + sc.getMinorVersion();

    String versaoJsp = JspFactory.getDefaultFactory().

          getEngineInfo().getSpecificationVersion();

%>

 

Servidor: <%= servidor %>

Servlet: <%= versaoServlet %>

JSP: <%= versaoJsp %>

 

Definindo o nome do arquivo em downloads

Um uso comum para servlets (e mesmo para páginas JSP) é a geração dinâmica de arquivos, tais como planilhas ou documentos PDF. Nessas situações, ao enviar o arquivo gerado, é preciso que o servlet especifique o tipo do conteúdo através do método response.setContentType(String tipo). O tipo segue no cabeçalho da resposta HTTP retornada pelo servlet e, de acordo com ele, o navegador poderá decidir o que fazer com o arquivo.

Normalmente o arquivo é exibido através de um plug-in, ou é oferecida a opção de  salvá-lo no disco, mas nos casos onde a in- tenção é que o usuário faça o download, esse procedimento traz alguns problemas:

...

Quer ler esse conteúdo completo? Tenha acesso completo