Java tutorial
/* * 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 com.saludtec.web; import com.saludtec.entidades.Departamentos; import com.saludtec.jpa.DepartamentosEjb; import com.saludtec.jpa.exceptions.NonexistentEntityException; import java.io.IOException; import java.io.PrintWriter; import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; import javax.ejb.EJB; 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 org.jboss.weld.context.ejb.Ejb; import org.json.simple.JSONArray; import org.json.simple.JSONObject; /** * * @author saintec */ @WebServlet(name = "DepartamentosWeb", urlPatterns = { "/departamentos/*" }) public class DepartamentosWeb extends HttpServlet { @EJB DepartamentosEjb ejb; JSONObject obj; JSONArray objArray; protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); try (PrintWriter out = response.getWriter()) { String servicio = request.getRequestURI().replace("/Adminio/departamentos/", ""); switch (servicio) { case "getstate": traerDepartamento(request).writeJSONString(out); break; case "liststates": listarDepartamentos().writeJSONString(out); break; case "savestate": guardarDepartamento(request).writeJSONString(out); break; case "updatestate": editarDepartamento(request).writeJSONString(out); break; case "deletestate": eliminarDepartamento(request).writeJSONString(out); break; default: obj = new JSONObject(); obj.put("error", "404 - El servicio " + servicio + " no existe"); obj.writeJSONString(out); break; } } catch (NonexistentEntityException ex) { Logger.getLogger(DepartamentosWeb.class.getName()).log(Level.SEVERE, null, ex); } } private JSONObject traerDepartamento(HttpServletRequest request) throws NonexistentEntityException { Departamentos departamento = ejb .traerDepartamentos(Integer.parseInt(request.getParameter("idDepartamento"))); obj = new JSONObject(); obj.put("idDepartamento", departamento.getIdDepartamento()); obj.put("departamento", departamento.getDepartamento()); return obj; } private JSONArray listarDepartamentos() throws NonexistentEntityException { List<Departamentos> departamentos = ejb.traerDepartamentos(); objArray = new JSONArray(); for (Departamentos departamento : departamentos) { obj = new JSONObject(); obj.put("idDepartamento", departamento.getIdDepartamento()); obj.put("departamento", departamento.getDepartamento()); objArray.add(obj); } return objArray; } private JSONObject guardarDepartamento(HttpServletRequest request) throws NonexistentEntityException { Departamentos departamento = new Departamentos(); departamento.setDepartamento(request.getParameter("departamento")); departamento = ejb.crear(departamento); obj = new JSONObject(); obj.put("idDepartamento", departamento.getIdDepartamento()); obj.put("departamento", departamento.getDepartamento()); return obj; } private JSONObject editarDepartamento(HttpServletRequest request) throws NonexistentEntityException { Departamentos departamento = new Departamentos(); departamento.setIdDepartamento(Integer.parseInt(request.getParameter("idDepartamento"))); departamento.setDepartamento(request.getParameter("departamento")); ejb.editar(departamento); obj = new JSONObject(); obj.put("mensaje", "ok"); return obj; } private JSONObject eliminarDepartamento(HttpServletRequest request) throws NonexistentEntityException { ejb.eliminar(Integer.parseInt(request.getParameter("idDepartamento"))); obj = new JSONObject(); obj.put("menasaje", "eliminado"); return obj; } // <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> }