Advertisement
Guest User

web2-23-05

a guest
May 23rd, 2017
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.87 KB | None | 0 0
  1. /*
  2.  * To change this license header, choose License Headers in Project Properties.
  3.  * To change this template file, choose Tools | Templates
  4.  * and open the template in the editor.
  5.  */
  6.  
  7.  /*import java.io.IOException;
  8. import java.io.PrintWriter;
  9. import javax.servlet.ServletException;
  10. import javax.servlet.annotation.WebServlet;
  11. import javax.servlet.http.HttpServlet;
  12. import javax.servlet.http.HttpServletRequest;
  13. import javax.servlet.http.HttpServletResponse;*/
  14. import java.io.IOException;
  15. import java.io.OutputStream;
  16. import java.io.PrintWriter;
  17. import java.net.URL;
  18. import java.sql.Connection;
  19. import java.sql.DriverManager;
  20. import java.sql.SQLException;
  21. import java.util.HashMap;
  22. import javax.servlet.ServletException;
  23. import javax.servlet.annotation.WebServlet;
  24. import javax.servlet.http.HttpServlet;
  25. import javax.servlet.http.HttpServletRequest;
  26. import javax.servlet.http.HttpServletResponse;
  27. import net.sf.jasperreports.engine.JRException;
  28. import net.sf.jasperreports.engine.JasperRunManager;
  29.  
  30. /**
  31.  *
  32.  * @author Levi
  33.  */
  34. @WebServlet(name = "ServletGeradorRelatorio", urlPatterns = {"/ServletGeradorRelatorio"})
  35. //@WebServlet(urlPatterns = {"/ServletGeradorRelatorio"})
  36. public class ServletGeradorRelatorio extends HttpServlet {
  37.  
  38.     /**
  39.      * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
  40.      * methods.
  41.      *
  42.      * @param request servlet request
  43.      * @param response servlet response
  44.      * @throws ServletException if a servlet-specific error occurs
  45.      * @throws IOException if an I/O error occurs
  46.      */
  47.     protected void processRequest(HttpServletRequest request, HttpServletResponse response)
  48.             throws ServletException, IOException {
  49.  
  50.         Connection con = null;
  51.         try {
  52.  
  53.             Class.forName("org.postgresql.Driver");
  54.             con = DriverManager.getConnection("jdbc:postgresql://localhost:5432/relatorios","postgres", "");
  55.             String jasper = request.getContextPath() + "/Teste.jasper";
  56.             String host = "http://" + request.getServerName() + ":" + request.getServerPort();
  57.  
  58.             URL jasperURL = new URL(host + jasper);
  59.             HashMap params = new HashMap();
  60.             byte[] bytes = JasperRunManager.runReportToPdf(
  61.                     jasperURL.openStream(), params, con);
  62.             if (bytes != null) {
  63.                 response.setContentType("application/pdf");
  64.                 OutputStream ops = response.getOutputStream();
  65.                 ops.write(bytes);
  66.             }
  67.         } catch (ClassNotFoundException e) {
  68.             request.setAttribute("mensagem", "Driver BD não encontrado : " + e.getMessage());
  69.             request.getRequestDispatcher("erro.jsp").forward(request, response);
  70.         } catch (SQLException e) {
  71.             request.setAttribute("mensagem", "Erro de conexão ou query: " + e.getMessage());
  72.             request.getRequestDispatcher("erro.jsp").forward(request, response);
  73.         } catch (JRException e) {
  74.             request.setAttribute("mensagem", "Erro no Jasper : " + e.getMessage());
  75.             request.getRequestDispatcher("erro.jsp").forward(request, response);
  76.         } finally {
  77.             if (con != null) {
  78.                 try {
  79.                     con.close();
  80.                 } catch (Exception e) {
  81.                
  82.                 }
  83.             }
  84.         }
  85.     }
  86.         // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
  87.         /**
  88.          * Handles the HTTP <code>GET</code> method.
  89.          *
  90.          * @param request servlet request
  91.          * @param response servlet response
  92.          * @throws ServletException if a servlet-specific error occurs
  93.          * @throws IOException if an I/O error occurs
  94.          */
  95.         @Override
  96.         protected void doGet
  97.         (HttpServletRequest request, HttpServletResponse response)
  98.                     throws ServletException, IOException {
  99.             processRequest(request, response);
  100.         }
  101.  
  102.         /**
  103.          * Handles the HTTP <code>POST</code> method.
  104.          *
  105.          * @param request servlet request
  106.          * @param response servlet response
  107.          * @throws ServletException if a servlet-specific error occurs
  108.          * @throws IOException if an I/O error occurs
  109.          */
  110.         @Override
  111.         protected void doPost
  112.         (HttpServletRequest request, HttpServletResponse response)
  113.                     throws ServletException, IOException {
  114.             processRequest(request, response);
  115.         }
  116.  
  117.         /**
  118.          * Returns a short description of the servlet.
  119.          *
  120.          * @return a String containing servlet description
  121.          */
  122.         @Override
  123.         public String getServletInfo
  124.        
  125.        
  126.        
  127.        
  128.             () {
  129.                 return "Short description";
  130.         }// </editor-fold>
  131.  
  132.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement