Amigos estou querendo exportar um arquivo xls mais estou com um nullPointer nesse trecho abaixo
declarei os
private HttpServletRequest request;
private HttpServletResponse response;
e tenho os get e set de cada um mais estou com nullPointer aqui this.getServletResponse().setHeader, minha classe esta extendendo assim extends HttpServlet
como que eu faço para preencher esse objeto nulo.
ByteArrayOutputStream baos = new ByteArrayOutputStream();
arquivoXLS.write(baos);
baos.close();
this.getServletResponse().setHeader("Content-Disposition", "attachment; filename=log_importacao.xls");
this.getServletResponse().setContentType("application/octet-stream");
this.getServletResponse().getOutputStream().write(baos.toByteArray());
Se sua classe extend HttpServlet, vc deve receber o HttpServletRequest e o HttpServletResponse via parâmetros do
método doGet, doPost… e não declara-los com atributo de sua classe. o Container que dá o new neles e lhe passa como parametros…
no metodo doGet eu ‘seto’ um valor estatico para o metodo setHeader e setContentType ?
Servlet Básica:
[code]import java.io.;
import javax.servlet.;
import javax.servlet.http.*;
public class SomeServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
…
response.setHeader(“Content-Disposition”, “attachment; filename=log_importacao.xls”);
response.setContentType(“application/octet-stream”);
response.getWriter().write(baos.toByteArray());
}
}[/code]
Sugiro q vc leia esta apostila que explica direitim sobre Servlet e JSP.
http://www.caelum.com.br/download/caelum-java-web-fj21.pdf
valfrido.silva eu coloquei minha implementação dentro do metodo doGet porém meu response esta vindo null ?
OBS. eu fiz o mapeamento da minha Servlet no meu web.xml tb o que devo fazer para o response vir preenchido ?
Thiago verifica se vc mapeou sua servlet correto no web.xml e chame ela direto no browser que o responde irá vir preenchido
preste bastante atenção:
public void doGet(HttpServletRequest request, HttpServletResponse response)
o request e o response você não declara na classe, recebe como parametro, o web container que passa eles pra voce !!
Valeu robsonsan era isso mesmo
obrigado a todos