You are on page 1of 4

/*

* To change this license header, choose License Headers in Project Properties.


* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package servlets;
import
import
import
import
import
import
import
import
import
import
import
import
import
import
import
import
import
import
import

control.DatosJpaController;
control.exceptions.RollbackFailureException;
java.io.IOException;
java.io.PrintWriter;
java.util.List;
java.util.logging.Level;
java.util.logging.Logger;
javax.annotation.Resource;
javax.persistence.EntityManager;
javax.persistence.EntityManagerFactory;
javax.persistence.Persistence;
javax.persistence.PersistenceUnit;
javax.servlet.ServletException;
javax.servlet.annotation.WebServlet;
javax.servlet.http.HttpServlet;
javax.servlet.http.HttpServletRequest;
javax.servlet.http.HttpServletResponse;
javax.transaction.UserTransaction;
modelo.Datos;

/**
*
* @author arturo
*/
@WebServlet(name = "Agregar", urlPatterns = {"/Agregar"})
public class Agregar extends HttpServlet {
/**
* Processes requests for both HTTP <code>GET</code> and <code>POST</code>
* methods.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
//variables para realizar la transaccion
@PersistenceUnit
EntityManagerFactory emf;
@Resource
UserTransaction utx;
protected void processRequest(HttpServletRequest request, HttpServletRespons
e response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
//creacion de un objeto datos
Datos dato= new Datos();
try (PrintWriter out = response.getWriter()) {

//creacion del entitymanagerfactory para la persistencia


emf=Persistence.createEntityManagerFactory("Practica_2PU");
//objeto de la clase controladora con dos atributos
DatosJpaController cd= new DatosJpaController(utx,emf);
//obtencion de datos del .jsp
dato.setId(Integer.parseInt(request.getParameter("txtID")));
dato.setTexto(request.getParameter("txtInformacion").toString());
out.println("<!DOCTYPE html>");
out.println("<html>");
out.println("<head>");
out.println("<link rel=\"stylesheet\" href=\"css/style.css\" type=\"
text/css\"/>");
out.println("<title>Servlet Agregar</title>");
out.println("</head>");
out.println("<body>");
if(request.getParameter("agregar")==request.getParameter("null")&&re
quest.getParameter("mostrar")==request.getParameter("mostrar"))
{
ListarDatos(out, cd);
}else
if(request.getParameter("agregar")==request.getParameter("agrega
r")&&request.getParameter("mostrar")==request.getParameter(null))
{
out.println("<h1>Servlet Agregar at " + request.getContextPath() + "
</h1>");
// out.println("<font color='blue'>"+strError+"</font>");
out.println("<h1>Informacion Ingresada en el Formulario</h1>");
out.println("<h1>"+dato.getId()+"</h1>");
out.println("<h1>"+dato.getTexto()+"</h1>");
out.println("<h1>Dato Capturado con Exito</h1>");
out.println("<br/> <a href='Agregar.jsp'>regresar</a>");
out.println("</body>");
out.println("</html>");
cd.create(dato);

/*
EntityManager em;
EntityManagerFactory emf;
emf=Persistence.createEntityManagerFactory("Practica_2PU");
em=emf.createEntityManager();
em.getTransaction().begin();
em.persist(dato);
em.flush();
em.getTransaction().commit();
*/

} catch (RollbackFailureException ex) {


Logger.getLogger(Agregar.class.getName()).log(Level.SEVERE, null, ex
);
} catch (Exception ex) {
Logger.getLogger(Agregar.class.getName()).log(Level.SEVERE, null, ex
);
}
}
// <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on
the + sign on the left to edit the code.">
/**
* Handles the HTTP <code>GET</code> method.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse respons
e)
throws ServletException, IOException {
processRequest(request, response);
}
/**
* Handles the HTTP <code>POST</code> method.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse respon
se)
throws ServletException, IOException {
processRequest(request, response);
}
/**
* Returns a short description of the servlet.
*
* @return a String containing servlet description
*/
@Override
public String getServletInfo() {
return "Short description";
}// </editor-fold>
public static void lista(PrintWriter out, DatosJpaController con)
{
List<Datos> list=con.findDatosEntities();
out.println("<p>Listado de Datos</p>");
out.println("<table border='1'>" );
out.println("<tr>\n" + "<td>ID</td>\n");
out.println("<td>Informacion</td>\n" + "</tr>");
for(Datos es: list) {
out.println("<tr>\n" + "<td>"+es.getId()+"</td>\n");

out.println("<td>"+es.getTexto()+"</td>\n" + "</tr>");
}
out.println( "</table>");
}
public static void ListarDatos(PrintWriter out,DatosJpaController con)
{
int max=10; int min=0;
List<Datos> list=con.findDatosEntities(max, min);
out.println("<p>Listado de Datos</p>");
out.println("<table border='1'>" );
out.println("<tr>\n" + "<td>ID</td>\n");
out.println("<td>Informacion</td>\n" + "</tr>");
for(Datos es: list) {
out.println("<tr>\n" + "<td>"+es.getId()+"</td>\n");
out.println("<td>"+es.getTexto()+"</td>\n" + "</tr>");
}
out.println( "</table>"); }
}

You might also like