Java Servlet

15
Cliente (Browser ) Capa De Presentació n (index.jsp) Capa De Presentació n o negocio SERVLET (servlet_cl iente.java) Capa De Persistenci a (JPA EclipseLink ) Recurso Conjunto de Conexión Base de datos JAVA SERVLET *Es una clase de java que permite extender las capacidades del servidor *Utiliza el esquema de programación solicitud y respuesta (request - response) *Es una tecnología del lado del servidor. *El código reside en el servidor y se ejecuta en los recursos del servidor *Permite la creación de páginas web con contenido dinámico. *Reemplazó a la tecnología 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 métodos 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

description

Java Servlet - Pablo Vinicio Almeida Haro

Transcript of Java Servlet

JAVA SERVLET *Es una clase de java que permite extender las capacidades del servidor*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

Cliente(Browser)Capa DePresentacin(index.jsp)Capa DePresentacin o negocioSERVLET(servlet_cliente.java)Capa DePersistencia(JPAEclipseLink)RecursoConjunto deConexinBasededatos

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

*Ingresar nombre de proyecto y ubicacin

*Seleccionar servidor y versin jee

*No seleccionar ningn framework

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

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

*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 !="") { 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(); 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 { 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; } } out.println(is_pantalla); } finally { out.close(); } }

public String desplegar_pantalla(String as_codigo, String as_nombre) { String ls_pantalla=""; ls_pantalla+=""; ls_pantalla+=""; ls_pantalla+=""; ls_pantalla+=""; ls_pantalla+="SERVLETS - Ing. Pablo Almeida Haro "; ls_pantalla+=""; ls_pantalla+="Codigo:"; ls_pantalla+="
"; ls_pantalla+="Nombre:"; ls_pantalla+="
"; ls_pantalla+=""; ls_pantalla+=""; ls_pantalla+=""; ls_pantalla+=""; ls_pantalla+=""; ls_pantalla+=""; ls_pantalla+=""; 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

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

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