Trocar servlet por bean

4 respostas
asandro1501

Bom dia pessoal

Preciso alterar a servlet abaixo por um código bean para ser utilizado em uma aplicação jsf.

protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, SQLException, JRException { ServletOutputStream servletOutputStream = response.getOutputStream(); String caminho = "/rel/"; String relatorio = caminho + "paciente.jasper"; InputStream reportStream = getServletConfig().getServletContext().getResourceAsStream(relatorio); Connection connection = null; try { //cria a conexão com o banco de dados Class.forName("com.mysql.jdbc.Driver"); String db = "jdbc:mysql://localhost:3306/dbsisp"; connection = (Connection) DriverManager.getConnection(db, "usuario", "senha"); // envia o relatório em formato PDF para o browser response.setContentType("application/pdf"); //para gerar o relatório no formato PDF // o método runReportToPdfStream foi usado JasperRunManager.runReportToPdfStream(reportStream, servletOutputStream, new HashMap(), connection); } catch (ClassNotFoundException ex) { Logger.getLogger(Relatorio.class.getName()).log(Level.SEVERE, null, ex); } catch (SQLException ex) { Logger.getLogger(Relatorio.class.getName()).log(Level.SEVERE, null, ex); } catch (JRException e) { Logger.getLogger(Relatorio.class.getName()).log(Level.SEVERE, null, e); } finally { servletOutputStream.flush(); servletOutputStream.close(); try { if (connection != null) { connection.close(); } } catch (SQLException ex) { Logger.getLogger(Relatorio.class.getName()).log(Level.SEVERE, null, ex); } } }

Não preciso nada mais que isso, só uma ajuda para modificar e usar em jsf

Obrigado

4 Respostas

evertonsilvagomesjav

asandro1501:
Bom dia pessoal

Preciso alterar a servlet abaixo por um código bean para ser utilizado em uma aplicação jsf.

protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, SQLException, JRException { ServletOutputStream servletOutputStream = response.getOutputStream(); String caminho = "/rel/"; String relatorio = caminho + "paciente.jasper"; InputStream reportStream = getServletConfig().getServletContext().getResourceAsStream(relatorio); Connection connection = null; try { //cria a conexão com o banco de dados Class.forName("com.mysql.jdbc.Driver"); String db = "jdbc:mysql://localhost:3306/dbsisp"; connection = (Connection) DriverManager.getConnection(db, "usuario", "senha"); // envia o relatório em formato PDF para o browser response.setContentType("application/pdf"); //para gerar o relatório no formato PDF // o método runReportToPdfStream foi usado JasperRunManager.runReportToPdfStream(reportStream, servletOutputStream, new HashMap(), connection); } catch (ClassNotFoundException ex) { Logger.getLogger(Relatorio.class.getName()).log(Level.SEVERE, null, ex); } catch (SQLException ex) { Logger.getLogger(Relatorio.class.getName()).log(Level.SEVERE, null, ex); } catch (JRException e) { Logger.getLogger(Relatorio.class.getName()).log(Level.SEVERE, null, e); } finally { servletOutputStream.flush(); servletOutputStream.close(); try { if (connection != null) { connection.close(); } } catch (SQLException ex) { Logger.getLogger(Relatorio.class.getName()).log(Level.SEVERE, null, ex); } } }

Não preciso nada mais que isso, só uma ajuda para modificar e usar em jsf

Obrigado

Ueh cara vc pode criar um backingbean e atraves do seu backingbean chamar esse servlet

asandro1501

Você ajudar a fazer isso? Ainda to aprendendo java web, algumas coisas pra mim ainda são novidades.

Abraço

evertonsilvagomesjav

asandro1501:
Você ajudar a fazer isso? Ainda to aprendendo java web, algumas coisas pra mim ainda são novidades.

Abraço

Então, vc sabe configurar um managebean no facesconfig? Pra vc poder usar seu backingbean?

asandro1501

Everton

Eu não mexi muito pq estou utilizando o JSF 2.0, utilizei mais a definição de escopo dentro do próprio bean. Eu vi alguma coisa semelhante num exemplo de login mas que também não utilizei.

Você tem algum exemplo de como chamar a servlet ou então me dizer o passo a passo do que fazer pra isso?

Obrigado

Criado 11 de dezembro de 2010
Ultima resposta 12 de dez. de 2010
Respostas 4
Participantes 2