Documente Academic
Documente Profesional
Documente Cultură
JAVA SERVLET
CONCEPTO Es una clase de java que permite extender las capacidades del servidor CARACTERISTICAS *Utiliza el esquema de programacin solicitud y respuesta (request - response) *Es una tecnologa del lado del servidor. *El cdigo reside en el servidor y se ejecuta en los recursos del servidor *Permite la creacin de pginas web con contenido dinmico. *Reemplaz a la tecnologa CGI (Common Gateway Interface) *Garantiza la portabilidad entre plataformas *Los paquetes javax.servlet y javax.servlet.http proveen intefaces y clases para escribir aplicaciones basadas en servlets *Todo servlet debe implementar la interface servlet *La clase HttpServlet provee los mtodos doGet y doPost
*El ciclo de vida de un servlet es controlado por el container
*El objeto request contiene los datos pasados del cliente hacia el servidor *El objeto response contiene los datos pasados del servidor hacia el cliente
*Crear el servlet: click derecho sobre el nuevo paquete new/servlet *Ingresar el nombre del servlet
*El ide por defecto crear un cdigo el cual debe ser reemplazado por lo que sigue a continuacin: package pkg_servlet;
import java.io.IOException; import java.io.PrintWriter; import javax.persistence.Query; import java.util.List; import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.Persistence; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;
@WebServlet(name = "servlet_cliente", urlPatterns = {"/servlet_cliente"}) public class servlet_cliente extends HttpServlet { EntityManagerFactory factory=Persistence.createEntityManagerFactory("prj_servletPU"); EntityManager em1=factory.createEntityManager(); String ls_mensaje="";
protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); String is_pantalla=""; ls_mensaje=""; try { String is_boton=""; String ls_codigo=""; String ls_nombre=""; is_boton=request.getParameter("boton"); ls_codigo=request.getParameter("codigo"); ls_nombre=request.getParameter("nombre"); if (is_boton==null || is_boton =="") { is_pantalla=desplegar_pantalla("",""); } if (is_boton!=null && is_boton !="") {
Ing. Pablo Almeida Haro Mgs. if(is_boton.equals("Insertar")) { String sql ="insert into cliente (codigo,nombre) values ('"+ls_codigo+"'"+","+"'"+ls_nombre+"')"; em1.getTransaction().begin(); Query qe=em1.createNativeQuery(sql); try { qe.executeUpdate(); em1.getTransaction().commit(); ls_mensaje="Se insert satisfactoriamente"; } catch (Exception ex) { em1.getTransaction().rollback(); ls_mensaje="No se pudo insertar"; } is_pantalla=desplegar_pantalla("",""); is_pantalla+=ls_mensaje; } if(is_boton.equals("Eliminar")) { String sql ="delete from cliente where codigo='"+ls_codigo+"'"; em1.getTransaction().begin(); Query qe=em1.createNativeQuery(sql);
Ing. Pablo Almeida Haro Mgs. if (li_filas>=1) { em1.getTransaction().commit(); ls_mensaje+="Se elimin satisfactoriamente"; } else { em1.getTransaction().rollback(); ls_mensaje="No se pudo eliminar"; } is_pantalla=desplegar_pantalla("",""); is_pantalla+=ls_mensaje; } if(is_boton.equals("Modificar")) { String sql ="update cliente set nombre='"+ls_nombre+"' where codigo='"+ls_codigo+"'"; em1.getTransaction().begin(); Query qe=em1.createNativeQuery(sql);
Ing. Pablo Almeida Haro Mgs. { em1.getTransaction().rollback(); ls_mensaje="No se pudo actualizar"; } is_pantalla=desplegar_pantalla("",""); is_pantalla+=ls_mensaje; } if(is_boton.equals("Buscar")) { String sql ="select nombre from cliente where codigo='"+ls_codigo+"'";
Query qe=em1.createNativeQuery(sql); List l1=qe.getResultList(); if (l1.size()>=1) { ls_nombre=(String)l1.get(0); ls_mensaje="En cliente fue encontrado"; } else { ls_mensaje="No se encontro el cliente"; } is_pantalla=desplegar_pantalla(ls_codigo,ls_nombre); is_pantalla+=ls_mensaje; }
} finally { out.close(); } }
public String desplegar_pantalla(String as_codigo, String as_nombre) { String ls_pantalla=""; ls_pantalla+="<html>"; ls_pantalla+="<head>"; ls_pantalla+="</head>"; ls_pantalla+="<body>"; ls_pantalla+="<h2>SERVLETS - Ing. Pablo Almeida Haro </h2>";
ls_pantalla+="<form action='servlet_cliente' method='post'>"; ls_pantalla+="Codigo:<input type='text' name='codigo'"+" value='"+as_codigo +"'></input>"; ls_pantalla+="<br>"; ls_pantalla+="Nombre:<input type='text' name='nombre'"+" value='"+as_nombre+"'></input>"; ls_pantalla+="<br>"; ls_pantalla+="<input type='submit' value='Insertar' name='boton'></input>"; ls_pantalla+="<input type='submit' value='Eliminar' name='boton' ></input>"; ls_pantalla+="<input type='submit' value='Modificar' name='boton'></input>"; ls_pantalla+="<input type='submit' value='Buscar' name='boton'></input>";
return ls_pantalla; }
@Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { processRequest(request, response); }
@Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { processRequest(request, response); } }