daily pastebin goal
7%
SHARE
TWEET

Untitled

a guest Jun 17th, 2017 47 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*
  2.  * To change this template, choose Tools | Templates
  3.  * and open the template in the editor.
  4.  */
  5.  
  6.  
  7. import com.mysql.jdbc.Connection;
  8. import com.mysql.jdbc.PreparedStatement;
  9. import com.mysql.jdbc.ResultSet;
  10. import com.mysql.jdbc.Statement;
  11. import java.io.IOException;
  12. import java.io.PrintWriter;
  13. import java.sql.DriverManager;
  14. import java.util.logging.Level;
  15. import java.util.logging.Logger;
  16. import javax.servlet.ServletException;
  17. import javax.servlet.http.HttpServlet;
  18. import javax.servlet.http.HttpServletRequest;
  19. import javax.servlet.http.HttpServletResponse;
  20.  
  21. /**
  22.  *
  23.  * @author pancho
  24.  */
  25. public class feeds extends HttpServlet {
  26.  
  27.     /**
  28.      * Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
  29.      * @param request servlet request
  30.      * @param response servlet response
  31.      * @throws ServletException if a servlet-specific error occurs
  32.      * @throws IOException if an I/O error occurs
  33.      */
  34.     private java.sql.Connection con;
  35.    
  36.     protected void processRequest(HttpServletRequest request, HttpServletResponse response)
  37.     throws ServletException, IOException {
  38.  
  39.         // IMPORTANTE definir el tipo de datos de la respuesta
  40.         response.setContentType("text/xml;charset=UTF-8");
  41.         PrintWriter out = response.getWriter();
  42.         try {
  43.  
  44.             // parametros via GET
  45.            
  46.             String noticia = request.getParameter("cantidad");
  47.             String formato = request.getParameter("formato");
  48.  
  49.             // CONFLICTO
  50.             // int cantidad = Integer.parseInt(noticia);
  51.  
  52.  
  53.             // Conexión a la base de datos
  54.             Class.forName("com.mysql.jdbc.Driver");
  55.             con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/exp3_multimedios", "multimedios", "1234");
  56.  
  57.             // consulta SQL
  58.            
  59.             String query = "SELECT NOTICIA_TITULO, NOTICIA_CONTENIDO, NOTICIA_FECHA from NOTICIA_SERVER;";
  60.             Statement stmt = (Statement) con.createStatement();
  61.             ResultSet result = (ResultSet) stmt.executeQuery(query);    // PreparedStatement ps = (PreparedStatement) con.prepareStatement(query);
  62.    
  63.  
  64.             // leer noticia "fetch" dos opciones segun formato XML o RSS
  65.             // ve si formato es igual a xml o rss
  66.  
  67.             // cabecera en comun del tipo XML
  68.             out.println("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>");
  69.  
  70.  
  71.             // XML
  72.             if(formato.equals("xml")){
  73.                        
  74.                         out.println("<noticias>");
  75.                         while(result.next()){
  76.                                 out.println("<noticia fecha=\""+result.getString("NOTICIA_FECHA")+"\">");
  77.                                 out.println("<titulo>"+result.getString("NOTICIA_TITULO")+"</titulo>");
  78.                                 out.println("<contenido>"+result.getString("NOTICIA_CONTENIDO")+"</contenido>");
  79.                                 out.println("</noticia>");
  80.                         }
  81.                         out.println("</noticias>");
  82.                     }
  83.  
  84.             // RSS
  85.             if(formato.equals("rss")){
  86.                 out.println("<rss version=\"2.0\">");
  87.                 out.println("<channel>");
  88.                     out.println("<title>Actividad 4: Multimedios</title>");
  89.                     out.println("<language>en</language>");
  90.                     while(result.next()){
  91.                                 out.println("<item>");
  92.                                     out.println("<title>"+result.getString("NOTICIA_TITULO")+"</title>");
  93.                                     out.println("<description>"+result.getString("NOTICIA_CONTENIDO")+"</description>");
  94.                                     out.println("<pubDate>"+result.getString("NOTICIA_FECHA")+"</pubDate>");
  95.                                 out.println("</item>");
  96.                     }
  97.  
  98.  
  99.                 out.println("</channel>");
  100.                 out.println("</rss>");
  101.  
  102.  
  103.             }
  104.  
  105.                     stmt.close();
  106.          
  107.         } catch (Exception e) {
  108.         } finally {
  109.             out.close();
  110.         }
  111.     }
  112.  
  113.     // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
  114.     /**
  115.      * Handles the HTTP <code>GET</code> method.
  116.      * @param request servlet request
  117.      * @param response servlet response
  118.      * @throws ServletException if a servlet-specific error occurs
  119.      * @throws IOException if an I/O error occurs
  120.      */
  121.     @Override
  122.     protected void doGet(HttpServletRequest request, HttpServletResponse response)
  123.     throws ServletException, IOException {
  124.         processRequest(request, response);
  125.     }
  126.  
  127.     /**
  128.      * Handles the HTTP <code>POST</code> method.
  129.      * @param request servlet request
  130.      * @param response servlet response
  131.      * @throws ServletException if a servlet-specific error occurs
  132.      * @throws IOException if an I/O error occurs
  133.      */
  134.     @Override
  135.     protected void doPost(HttpServletRequest request, HttpServletResponse response)
  136.     throws ServletException, IOException {
  137.         processRequest(request, response);
  138.     }
  139.  
  140.     /**
  141.      * Returns a short description of the servlet.
  142.      * @return a String containing servlet description
  143.      */
  144.     @Override
  145.     public String getServletInfo() {
  146.         return "Short description";
  147.     }// </editor-fold>
  148.  
  149. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top