Como pegar no servlet o valor da session definida anteriormente

2 respostas
jason_bourne

pessuar,

Como faço para pegar o valor de um session num servlet setado anteriormente por outro servlet?. Por exemplo, tenho esse servlet e preciso pegar o valor de uma variável session:

public class relatorio  extends HttpServlet {
public void geraRelatorio() throws JRException, Exception{
.
.
.
HttpSession session = request.getSession(true);

try{
JasperViewer.viewReport(caminho+"emissao-"+session.getValue("id_usuario")+".pdf",false);
}catch(Exception e){
    System.out.print(e.toString());
}

O problema é que ele não reconhece essa variavel (request). Eu sei que eu teria que defini-la num método do tipo doPost(HttpServletRequest request, HttpServletResponse res), só eu consigo colocar esse HttpServletResponse dentro do método (geraRelatorio()). Alguém tem uma idéia de como eu posso pegar o valor desse session?

2 Respostas

leonardom

Passe o objeto request para o seu metodo geraRelatorio().

public void geraRelatiorio(HttpServletRequest request) throws JRException, Exception {

    . . .

    HttpSession session = request.getSession(true);

    . . . 
}

Ai vc pode chamar o metodo assim de dentro do metodo doPost ou doGet:

geraRelatorion(request);
jason_bourne

leonardom:
Passe o objeto request para o seu metodo geraRelatorio().

public void geraRelatiorio(HttpServletRequest request) throws JRException, Exception {

    . . .

    HttpSession session = request.getSession(true);

    . . . 
}

Ai vc pode chamar o metodo assim de dentro do metodo doPost ou doGet:

geraRelatorion(request);

Consegui, só que eu não to conseguindo criar o pdf com o jasper. Aparentemente ele não cria o pdf se o nome do jrprint for diferente o do jasper, isso confere?

Criado 7 de julho de 2005
Ultima resposta 7 de jul. de 2005
Respostas 2
Participantes 2