1_crearunservlet

Upload: aaron-alejos

Post on 08-Jan-2016

226 views

Category:

Documents


0 download

DESCRIPTION

Creacion de un Servlet

TRANSCRIPT

  • Java EE - 1 -

    Servlets - JSP SESIN 1

    PROGRAMACIN WEB SESIN 1

    PROGRAMACIN WEB CON SERVLETS

    1. Creacin de una aplicacin Web El ejemplo que vamos a realizar consiste en un formulario html y un servlet que captura los datos y crea una pgina de respuesta. Realizaremos la aplicacin mediante NetBeans y haremos el despliegue en el servidor GlassFish.

    1.1 Creacin del proyecto

    En NetBeans nos vamos a New Project y seleccionamos proyecto Web:

  • Java EE - 2 -

    Servlets - JSP SESIN 1

    En nuestro caso no utilizaremos ningn framework:

  • Java EE - 3 -

    Servlets - JSP SESIN 1

    El resultado de la creacin del proyecto es un directorio con la estructura estndar de los proyectos web:

    1.2 Desarrollo del formulario

    Como podemos apreciar al crear el proyecto se genera la pgina index.jsp que reutilizaremos para codificar nuestro formulario.

    Cdigo final: Ejemplo "Mi Primer Servlet" Introduzca un texto en el cuadro y pulse "Enviar Consulta"

  • Java EE - 4 -

    Servlets - JSP SESIN 1

    1.3 Desarrollo del servlet

    Una vez realizado el formulario, crearemos un servlet para tratar la informacin.

  • Java EE - 5 -

    Servlets - JSP SESIN 1

    Como podemos apreciar en la ltima pantalla ya no es necesario incluir la informacin del servlet en el fichero web.xml como se haca antiguamente, esto se ha sustituido por una anotacin en el propio cdigo como veremos a continuacin.

    Cdigo final: package servlets; import java.io.IOException; import java.io.PrintWriter; 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 = "MiPrimerServlet", urlPatterns = {"/MiPrimerServlet"}) public class MiPrimerServlet extends HttpServlet { /** * Processes requests for both HTTP GET

    * and POST methods. * @param request servlet request * @param response servlet response * @throws ServletException if a servlet-specific error occurs * @throws IOException if an I/O error occurs */ protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); String txt = request.getParameter("TEXTO");

  • Java EE - 6 -

    Servlets - JSP SESIN 1

    try { out.println(""); out.println(""); out.println("Servlet MiPrimerServlet"); out.println(""); out.println(""); out.println("Usted ha escrito : " + txt + ""); out.println(""); out.println(""); } finally { out.close(); } } /** * Handles the HTTP GET 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 POST 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"; } }

  • Java EE - 7 -

    Servlets - JSP SESIN 1

    1.4 Desplegando la aplicacin y ejecutndola

    Para desplegar y ejecutar la aplicacin en el servidor tan solo tenemos que pulsar sobre el botn derecho en MiProyecto y seleccionar Deploy y despus ejecutar la aplicacin o directamente ejecutarla ya que previamente se realizar el despliegue.