Sunteți pe pagina 1din 13

Ing. Pablo Almeida Haro Mgs.

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

Capa Cliente (Browser) De Presentacin o negocio SERVLET (servlet_clien te.java)

Capa Conjunto De Persistencia Conexin (JPA EclipseLink) datos Recurso Base de de

Ing. Pablo Almeida Haro Mgs.

*Ingresar a netbeans *Crear un nuevo proyecto: file/new/Project/web application

*Ingresar nombre de proyecto y ubicacin

*Seleccionar servidor y versin jee

Ing. Pablo Almeida Haro Mgs.

*No seleccionar ningn framework

*Crear un nuevo paquete: click derecho sobre source packages/new/java package

Ing. Pablo Almeida Haro Mgs.

*Crear el servlet: click derecho sobre el nuevo paquete new/servlet *Ingresar el nombre del servlet

*Dejar por defecto los datos que siguen a continuacin:

Ing. Pablo Almeida Haro Mgs.

*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;

Ing. Pablo Almeida Haro Mgs.

@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);

int li_filas= qe.executeUpdate();

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);

int li_filas= qe.executeUpdate(); if (li_filas>=1) { em1.getTransaction().commit(); ls_mensaje+="Se actualiz satisfactoriamente"; } else

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; }

Ing. Pablo Almeida Haro Mgs. out.println(is_pantalla);

} 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>";

Ing. Pablo Almeida Haro Mgs. ls_pantalla+="</form>"; ls_pantalla+="</body>"; ls_pantalla+="</html>";

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); } }

*Crear la unidad de persistencia: file /new file/persistence/persistence unit

Ing. Pablo Almeida Haro Mgs.

*Colocar el nombre de la unidad de persistencia y el origen de datos

*Correr la aplicacin: click derecho sobre servlet_cliente.java y run

Ing. Pablo Almeida Haro Mgs.

S-ar putea să vă placă și