sábado, 22 de julio de 2006

JAVA - Cear un Servlet en Eclipse

Cear un Servlet y leer un parámetro de la URL haciendo uso de Eclipse

A continuación veremos como crear un Servlet en un proyecto Web haciendo uso del IDE Eclipse. Pre-Requisitos:
  • Instalar JDK.
  • Instalar un Servidor Web de aplicaciones para Java como por ejemplo Apache Tomcat.
  • Instalación de Eclipse.
  • Creación de un proyecto Web con Eclipse (para mayor información ver el artículo JAVA - Cear una aplicación Web con Eclipse).
Una vez que contamos con lo anterior, procedemos a abrir nuestro proyecto Web y damos clic con el botón secundario del mouse sobre él, seleccionamos la opción New y posteriormente clic en la opción Servlet. Cear un Servlet y leer un parametro de la URL en Eclipse Ahora nos aparecerá la siguiente ventana, en la cual se nos solicita el nombre del Servlet que deseamos crear, así como el paquete en el cual estará contenido. Para nuestro ejemplo, el nombre del servlet es ServletPrueba y se encontrara en el paquete sanchez_soft. A continuación damos clic en el botón Next. Crear un Servlet y leer un parametro de la URL en Eclipse A continuación nos aparecerá la siguiente pantalla, en la cual indicaremos con que nombre o alias queremos hacer referencia a este servlet desde nuestro sitio Web, generalmente se deja el mismo nombre de la clase Servlet que creamos. Damos clic en el botón Next. Cear un Servlet y leer un parametro de la URL en Eclipse En la siguiente pantalla se nos brinda la opción para que Eclipse cree de manera automática algunos métodos. Damos clic en el botón Finish. Cear un Servlet y leer un parametro de la URL en Eclipse Eclipse creerá el esqueleto de nuestro Servlet, ahora nos corresponde agregar un poco de código para poder visualizar algo de información cuando ejecutemos el servlet. En el seguiente código podemos leer un parámetro recibido por URL llamada usuarioNombre y posteriormente desplegar un mensaje de Bienvenida con el valor del parámetro recibdo. package com.sanchez_soft; import java.io.PrintWriter; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Servlet implementation class for Servlet: ServletPrueba * */ public class ServletPrueba extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet { private static final String CONTENT_TYPE = "text/html; charset=windows-1252"; public ServletPrueba() { super(); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request, response); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String usuarioNombre = ""; try { usuarioNombre = request.getParameter("usuarioNombre"); } catch(Exception e) { e.printStackTrace(); } response.setContentType(CONTENT_TYPE); PrintWriter out = response.getWriter(); out.println(""); out.println(""); out.println(""); out.println("

Bienvenido " + usuarioNombre + "!!

"); out.println(""); out.close(); } }
Una vez que hemos escrito algo a visualizar, ejecutaremos nuestro Servlet como se muestra en la siguiente imagen. Cear un Servlet y leer un parametro de la URL en Eclipse Atención: un error sumamente común es tener el servidor de aplicaciones corriendo he intentar ejecutar nuestra aplicación Web con Eclipse, si realizamos esto nos aparecerá un mensaje de error indicandonos que el servicio ya esta iniciado y que no se puede hacer otra petición en los mismos puertos. Cear un Servlet y leer un parametro de la URL en Eclipse Para solucionar esto y evitar que esto nos ocurra constantemente, debemos apagar nuestro servidor y configurar para que el encendido sea manual y no automático. Para ello seguir las siguientes instrucciones: Acceder a la Administración de Servicios. Cear un Servlet y leer un parametro de la URL en Eclipse Seleccionar el servicio de Apache Tomcat (o el del server que esten ejecutando). Damos clic en él con el botón secundario del mouse y clic en la opción de Propiedades. Cear un Servlet y leer un parametro de la URL en Eclipse En la ventana de propiedades Seleccionamos el tipo de inicio como Manual y paramos el servicio dando clic en el botón Stop, y finalmente damos clic en el botón Ok. Cear un Servlet y leer un parametro de la URL en Eclipse Ahora si regresamos a nuestra aplicación y la ejecutamos. Cear un Servlet y leer un parametro de la URL en Eclipse Una vez ejecutado nuestro servlet, nos aparecerá una pantalla similar a la siguiente: Cear un Servlet y leer un parametro de la URL en Eclipse Modificamos la url para pasarle un valor al parámetro usuarioNombre, el cual leemos en nuestro servlet, y la pantalla que visualizariamos sería una similar a la siguiente. Cear un Servlet y leer un parametro de la URL en Eclipse Listo!! Ya hemos creado un Servlet y realizado la lectura del valor de un parámetro que recibimos por URL.

13 comentarios:

Anónimo dijo...

Buen tutorial,aunque debería darle enlace a todas ls imagenes o hacerlas mas grandes porque en las ultimas ventanas no se alcanza a distinguir que fue lo que pusiste

Mario Alberto Sanchez Gamboa dijo...

Gracias por el comentario, lo tomare en cuenta. Saludos!!

JAVADADO dijo...

Hola esta muy bueno el articulo me sirvio bastante,gracias

thunder dijo...

Tengo eclipse ganymede y apache tompcat 6. Sigo todos los pasos del tutorial y aun asi me da el siguiente error, espero que me podais ayudar.

Estado HTTP 500 -

--------------------------------------------------------------------------------

type Informe de Excepci�n

mensaje

descripci�n El servidor encontr� un error interno () que hizo que no pudiera rellenar este requerimiento.

excepci�n

javax.servlet.ServletException: El Arropador (Wrapper) no puede hallar clase de servlet java.hola o una clase de la que depende
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
java.lang.Thread.run(Unknown Source)


causa ra�z

java.lang.ClassNotFoundException: java.hola
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
java.lang.Thread.run(Unknown Source)

Mario Alberto Sanchez Gamboa dijo...

Que tal Thunder, te recomiendo primero hacer un jsp sencillo para que reconozcas la ruta inicial de tu servidor. Despues crea el servlet con un sencillo texto de hola y trata de ejecutarlo. Por el tipo de error indica que no esta encontrando la clase java.hola. Trata de no ponerle nombre al paquete o escribe uno personalizado; Java package: com.thunder

Saludos!

JaviMetal750 dijo...

Buen artículo para inciarse.

¿Podrías simplemente escribir qué modificación hay que hacerle a la URL en el último paso para indicarle al servlet el nombre de usuario?

Gracias y un saludo

Eduardo A. dijo...

Para que os coja el nombre y lo muestre: en la url añadir al final:

...ServletPrueba?usuarioNombre=Pepito

Anónimo dijo...

Una pequeña duda que va relacionado a los articulos de desarrollo de aplicaciones web. Desearia saber como poder crear un ejecutable para el aplicativo web que desarrollare, es posible? o deberia hacer una aplicacion de escritorio y luego arrojar un ejecutable. Lo que busco con eso es poder ver un proceso de instalacion del aplicativo web.

Si es posible y esta en tus posibilidades poder orientarme o aclarar mis dudas

correo: a_rkx@hotmail.com

Alex dijo...

Buenas tardes, muchas gracias por tu respuesta. Aunque en ese momento talvez no pude detallar bien mi pedido porque no lo tenia bien definido. Espero ahora si poderte decir que es lo que quiero y si me podrias ayudar con bibliografia o talvez el software que pueda realizar la operacion, lo apreciaria mucho. La duda es la siguiente:

Deseo generar algo como el WAMP, solo que en este caso, debe ser Mysql, Eclipse, Jdk, Apache Tomcat y el .jar del aplicativo web en un solo instalador.

De antemano, muchas gracias

Atte,

Alexander Ocampo H.

Correo: a_rkx@hotmail.com

Anónimo dijo...

Hola!
yo estoy intentando crear un servlet desde eclipse, pero en las opciones de nuevo proyecto no aparece por ningún lado el servlet.
alguna idea?
muchas gracias
pueden escribir a pumukimalaga@hotmail.com

Anónimo dijo...

Eso es porque tu version del Eclipse no es para web, puedes hacer un servlet creando una nueva clase java y la extiendes de HttpServlet. Suerte !!!

Anónimo dijo...

El tutorial esta muy bueno, sale tal cual, lo curioso es que cuando le asigno un valor al String ingresoNombre; ese String es como que nunca lo tomo. Ya verifique todo lo que se me ocurrio, actualice el proyecto, reinicie el servidor (Tomcat) hasta reinicie eclipse y la pc, pero sigue apareciendo la misma leyenda..."Bienvenido null !!. Es una estupidez, pero en fin, ya descubrire que se trae. Si alguien tiene alguna idea gracias.

Anónimo dijo...

yeezy
goyard bag
golden goose outlet
Golden Goose Deluxe Brand
off white
air jordan shoes
supreme
bape
bape
palm angels