Comunicacion Servlet y clases Java BD
Los Servlets con serviran de conexion con la vista y con el modelo
Este es el servlet producto_controller
donde estan las acciones acorde con la peticion del usuario
package controller;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import model.*;
@WebServlet(name = "Producto_controller", urlPatterns = {"/Producto_controller"})
public class Producto_controller extends HttpServlet {
protected void processRequest(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try
{
int clave = Integer.parseInt(request.getParameter("clave"));
String nombre= request.getParameter("nombre");
int precio = Integer.parseInt(request.getParameter("precio"));
int cantidad = Integer.parseInt(request.getParameter("cantidad"));
String consultar = request.getParameter("consultar");
String registrar = request.getParameter("registrar");
String limpiar = request.getParameter("limpiar");
String eliminar = request.getParameter("eliminar");
String modificar = request.getParameter("modificar");
String listar = request.getParameter("listar");
if (registrar != null) // modulo Registrar
{
ProducroBD productoBD = new ProducroBD();
if (productoBD.registrar(clave, nombre, precio, cantidad))
{
request.setAttribute("mensaje", "PRODUCTO REGISTRADO");
}
else
{
request.setAttribute("mensaje", "EL PRODUCTO YA EXISTE");
}
request.getRequestDispatcher("notificacion.jsp").forward(request, response);
}
if (modificar != null) // modulo modificar
{
ProducroBD productoBD = new ProducroBD();
if (productoBD.modificar(clave, nombre, precio, cantidad))
{
request.setAttribute("mensaje", "PRODUCTO ACTUALIZADO");
}
else
{
request.setAttribute("mensaje", "EL PRODUCTO NO SE ACTUALIZO");
}
request.getRequestDispatcher("notificacion.jsp").forward(request, response);
}
if (eliminar != null) // modulo eliminar
{
ProducroBD productoBD = new ProducroBD();
if (productoBD.eliminar(clave))
{
request.setAttribute("mensaje", "PRODUCTO ELIMINADO");
}
else
{
request.setAttribute("mensaje", "EL PRODUCTO NO SE ELIMINO");
}
request.getRequestDispatcher("notificacion.jsp").forward(request, response);
}
if (consultar != null) // modulo consultar
{
Producto producto;
ProducroBD productoBD = new ProducroBD();
producto = productoBD.consultar(clave);
if (producto != null)
{
request.setAttribute("Productos",producto);
request.getRequestDispatcher("/Productos.jsp")
.forward(request, response);
}
else
{
request.setAttribute("mensaje", "PRODUCTO NO EXISTE");
request.getRequestDispatcher("/notificacion.jsp").forward(request, response);
}
}
if (listar != null) // modulo listar
{
ArrayList <Producto> productos = new ArrayList<Producto>();
Producto producto;
ProducroBD gestorBD = new ProducroBD();
productos = gestorBD.leerTodos();
if (productos != null)
{
request.setAttribute("Productos",productos);
request.getRequestDispatcher("/despliegaProductos.jsp").forward(request, response);
}
else
{
request.setAttribute("mensaje", "NO HAY REGISTROS");
request.getRequestDispatcher("notificacion.jsp").forward(request, response);
}
}
if (limpiar != null) // modulo limpiar
{
request.getRequestDispatcher("/Productos.jsp")
.forward(request, response);
}
}
finally
{
out.close();
}
}
// <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 response)
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 response)
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>
}