Como crear una Aplicación WEB con Java

Iniciado por Expermicid, Octubre 08, 2014, 05:19:34 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Voy a crear una aplicación WEB con Java desde cero usando Eclipse

Es necesario tener un servidor web o de aplicaciones a la mano para poder ejecutarlo, puede ser tan simple como un Tomcat, o si gustan un JBoss, Glassfish, o en mi caso como trabajo diariamente con el Oracle WebLogic.

La idea de esto es que puedan ver paso a paso como se crea la aplicación WEB, como se crea un Servlet(Una aplicación puede tener infinidad de estos), como sobreescribir los métodos de acción doGet y doPost y como llamar la ejecución de estos.

Paso 1. crear el proyecto


Paso 2. Definir el nombre del proyecto y el servidor en el cual este se deploya


Paso 3: Si se requiere algún otro directorio con archivos .class este seria el momento ideal para hacerlo, se puede hacer después , no hay ningún problema


Paso 4: Pongamole un contexto a nuestra aplicación, en mi caso el contexto será /MiAplicacionWeb


Bueno con esto nuestro proyecto WEB ya esta listo ahora vamos a probarlo.
No pongo como crear un paquete pero metí un paquete llamado servlets en mi carpeta de src.
Ahora vamos a crear el Servlet.

Paso 1: Busco en el menú desplegable la creación de mi servlet.


Paso 2: Indico el nombre de la clase que ejecutará el Servlet


Paso 3: El Mapéo del Servlet, osea como lo voy a llamar desde mi explorador


Paso 4: ¿Qué métodos ejecutará mi Servlet? Bueno lo normal es un doGet y un doPost. Solo por cultura general de las aplicaciones web, el protocolo HTTP soporta 7 métodos GET, POST, TRACE, PUT, OPTIONS, DELETE, HEAD, de los cuales tienen muchas funcionalidades pero sigamos con los nuestros GET y POST


Perfecto ya con esto esta listo nuestro mapeo de Servlet ademas de que tenemos nuestra clase con los métodos sobreescritos de doGet y doPost el doGet es para cuando entremos desde el navegador ( En mi caso No tienes permitido ver los links. Registrarse o Entrar a mi cuenta ). Además de esto ya implemente una impresión con un OutputStream de mi servlet para que pueda imprimir "Hola mundo, Servlet"

Código: java
package servlets;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
* Servlet implementation class MiServlet
*/
public class MiServlet extends HttpServlet {
private static final long serialVersionUID = 1L;

    public MiServlet() {
        super();
    }

protected void doGet(HttpServletRequest request,
                   HttpServletResponse response)
                   throws ServletException, IOException {
              ServletOutputStream out=response.getOutputStream();
out.println("Hola mundo, Servlet!");
out.flush();
out.close();
}

protected void doPost(HttpServletRequest request,
                   HttpServletResponse response)
                   throws ServletException, IOException {

}

}


Una vez llamado el servlet desde mi navegador se verá lo siguiente:


¿Sencillo verdad? Si necesitan que les explique algo mas en especifico no duden en publicar su pregunta, será respondida en cuanto la vea

Ahora unos ejemplos de uso para el método doGet y doPost:

En el caso de doGet es cuando se llama la aplicación desde la URL, este llamado puede contener parámetros la sintaxis es la siguiente

http://servidor:puerto/contextoAplicacion/Servlet?parametro1=texto1&parametro2=texto2

el símbolo ? es para iniciar los parámetros y el & es para separarlos.

En el ejemplo anterior le enviaré el siguiente parámetro:

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta Perez

Con una pequeña adaptación al método anterior:

Código: java
protected void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {

        //getParameter() es para obtener los parametros ingresados desde
        //Una URL o por POST, no confundir con getAttribute(String,Object)
        //este método es para obtener datos previamente guardados

String usuario=(String)request.getParameter("usuario");
ServletOutputStream out=response.getOutputStream();
out.println("Hola " + usuario);
out.flush();
out.close();
}


Llamando la URL tal cual como la tengo arriba tengo el siguiente resultado:


Ahora un ejemplo con el método doPost, para esto necesitamos a fuerzas crear un formulario que sea capaz de enviar por método POST
para su comodidad ya tengo un HTML hecho, solo descarguenlo No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Ahora, acabo de adaptar el servlet de la siguiente manera:

Código: java
protected void doPost(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
String usuario = (String) request.getParameter("usuario");
String password= (String) request.getParameter("password");
ServletOutputStream out = response.getOutputStream();

if (password.equals("12345678")){
out.println("Bienvenido: " + usuario);
}else{
    out.println("El password es invalido intentelo de nuevo");
}
out.flush();
out.close();
}


Cuando ingreso el usuario "Carlos" y un password diferente a 12345678 tengo el siguiente resultado:


Cuando ingreso el usuario "Carlos" y el password "12345678″


Señoras y señores todo por el momento, estaré escribiendo pronto, espero les sea de utilidad este artículo.

Fuente: desarrolloinnovador

Saludos