Saltar al contenido

Cómo programar Webs y Servlets en Eclipse

Configura Eclipse para programar webs y servlets: instala los plugins de desarrollo Web y Java EE, vincula Tomcat 7 y arranca el servidor local desde el IDE.

Ramón Invarato

Eclipse como tal no puede simular un servidor, pero con añadidos al IDE sí que podemos hacer un montón de cosas.

Antes de empezar, recomiendo tener instalado Eclipse. Si no lo tienes te recomiendo que empieces con el tutorial de instalación de Eclipse.

También, si no lo has seguido, te recomendamos que leas los pasos para instalar Tomcat.

La gracia de utilizar Tomcat vinculado con Eclipse, además de que es gratis, es que podemos utilizar toda la potencia de Eclipse para trabajar con código (si has utilizado Eclipse alguna vez entenderás a qué me refiero) y simular prácticamente todo lo que sucede en un servidor real.

Para empezar primero tenemos que instalar los plugins necesarios que harán que Eclipse entienda código de programación Web, como por ejemplo HTML, JSP, Javascript, XML, etc.

En el menú vamos a “Help” y pulsamos en “Install New Software”.

Captura del menú Help de Eclipse con la opción Install New Software resaltada

En la ventana que se nos abre, donde pone “Work with” seleccionamos la opción “–All Avaible Sites–” para que nos cargue los plugins disponibles para descargar.

El paquete de plugins que nos interesa se llama: “Web, XML, Java EE and OSGi Enterprise Development”. Recomiendo marcar el paquete entero si no sabemos muy bien lo que queremos, al fin y al cabo es gratis (Si sabemos lo que queremos, por ejemplo, solo programar en HTML, entramos en el paquete y marcamos las opciones que deseemos).

Al terminar pulsamos en “Next”.

Captura del asistente Install de Eclipse con el paquete Web, XML, Java EE and OSGi Enterprise Development marcado

En la siguiente ventana también en “Next”, y en la tercera marcamos que aceptamos las condiciones en “I accept the terms of the license agreements” y terminamos en “Finish”. Esperamos a que se descarguen y listo.

Ahora vamos a vincular Tomcat con Eclipse propiamente.

En el menú vamos ahora a “Windows” y ahí a “Preferences”.

Captura del menú Window de Eclipse con la opción Preferences resaltada

En la ventana que se nos abre, en la columna de la izquierda, desplegamos “Server” y pulsamos en “Runtime Environments”. Luego añadimos un servidor en el botón “Add…”. Se os abrirá otra ventana más, en la que buscaremos la carpeta “Apache”, y en esta carpeta seleccionaremos la versión de Tomcat que hubiéramos instalado (en el ejemplo del tutorial de instalación de Tomcat intalamos la versión 7, por lo que elegimos “Apache Tomcat v7.0”). Pulsamos en “Next” para continuar.

Captura de Preferences con Server > Runtime Environments y el asistente para elegir Apache Tomcat v7.0

En el siguiente paso podemos poner un nombre al servidor si no nos gusta el que está por defecto. Y buscamos en “Tomcat installation directory” la carpeta donde instalamos Tomcat (como en el ejemplo de instalación de Tomcat lo instalamos en la unidad C directamente, aquí es donde lo buscamos y seleccionamos). Pulsamos “Finish”.

Captura del asistente de Tomcat Server con el directorio de instalación C:\Tomcat 7.0 y el botón Finish

Ahora vamos a buscar la vista de servidores. Para ello vamos al menú otra vez a “Windows”, luego a “Show View” y terminamos en “Other…”.

Captura del menú Window > Show View de Eclipse con la opción Other resaltada

En la ventana que se nos abre buscamos la carpeta llamada “Server” y seleccionamos de su interior la vista de “Servers”.

Captura de la ventana Show View con la vista Servers dentro de la carpeta Server seleccionada

Nos habrá aparecido una vista nueva como una nueva pestaña llamada “Servers”. Nos dirá, que no tenemos ningún servidor disponible. Esto se soluciona rápido pulsando en el vínculo que pone “new server wizard”.

En la ventana, si no está seleccionado seleccionamos el servidor que hemos instalado (en nuestro caso hemos instalado el “Tomcat v7.0 Sever”). Terminamos en “Finish”.

Captura del asistente New Server con Tomcat v7.0 Server seleccionado, abierto desde el enlace new server wizard

Ya tendremos nuestro servidor local preparado. Pero está apagado, lo que muestra el cuadro azul junto al icono de la torre.

Vista Servers de Eclipse con el servidor Tomcat v7.0 en localhost detenido

Al igual que en el que aparece junto al reloj de Windows, si pulsamos con el botón derecho del ratón nos aparecerán las diferentes opciones como arrancar el servidor o detenerlo.

Captura del menú contextual del servidor Tomcat en Eclipse con las opciones Start, Stop y Publish

Hemos instalado todo. Pero ahora hay que poner a funcionar el servidor.

Para hacerlo primero tenemos que asegurarnos de que no haya ningún otro servidor simulado en nuestro ordenador funcionando.

Si seguimos el anterior tutorial de instalación de Tomcat, entonces, seguramente tengamos funcionando uno.

Vamos al reloj de Windows y lo detenemos si está funcionando. Con el botón derecho pulsamos en la pluma y elegimos “Stop service”.

Captura del menú del icono de Tomcat junto al reloj de Windows con la opción Stop service resaltada

Nos fijamos que esté detenido. Mostrará un cuadrado rojo la pluma.

Icono de Tomcat junto al reloj de Windows con un cuadrado rojo que indica servicio detenido

Ahora sí. Volvemos a Eclipse y arrancamos nuestro servidor local configurado en Eclipse.
Captura del menú contextual del servidor en Eclipse con la opción Start resaltada
Nota: Puede que la primera vez que lo arranquemos el Firewall bloquee la ejecución de Java. Tenemos que permitir acceso si queremos que todo funcione bien.

 

Captura del aviso del Firewall de Windows bloqueando Java, con el botón Permitir acceso resaltado

 

 

 

 

 

Supuesto error mostrado en la consola al arrancar el servidor local

 

Captura de la consola de Eclipse con mensajes en rojo al arrancar el servidor Tomcat local

 

 

Dará un error semejante a este:

may 24, 2012 7:51:00 AM org.apache.catalina.core.AprLifecycleListener init

Información: La biblioteca nativa de Apache Tomcat basada en ARP que permite un rendimiento óptimo en entornos de desarrollo no ha sido hallada en java.library.path: C:Program FilesJavajre7bin;C:WindowsSunJavabin;C:Windowssystem32;C:Windows;

C:Windowssystem32;C:Windows;C:WindowsSystem32Wbem;C:WindowsSystem32WindowsPowerShellv1.0;C:apache-ant-1.8.3;C:Program FilesJavajdk1.7.0_03bin;.

may 24, 2012 7:51:01 AM org.apache.tomcat.util.digester.SetPropertiesRule begin

Advertencia: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.j2ee.server:xxxxxxxxxxx' did not find a matching property.

may 24, 2012 7:51:01 AM org.apache.coyote.AbstractProtocol init

Información: Initializing ProtocolHandler [«http-bio-8080»]

may 24, 2012 7:51:01 AM org.apache.coyote.AbstractProtocol init

Información: Initializing ProtocolHandler [«ajp-bio-8009»]

may 24, 2012 7:51:01 AM org.apache.catalina.startup.Catalina load

Información: Initialization processed in 725 ms

may 24, 2012 7:51:01 AM org.apache.catalina.core.StandardService startInternal

Información: Arrancando servicio Catalina

may 24, 2012 7:51:01 AM org.apache.catalina.core.StandardEngine startInternal

Información: Starting Servlet Engine: Apache Tomcat/7.0.27

may 24, 2012 7:51:01 AM org.apache.catalina.loader.WebappClassLoader validateJarFile

Información: validateJarFile(C:Proyectos Eclipse.metadata.pluginsorg.eclipse.wst.server.coretmp0wtpwebappsxxxxxxxxxxxxxxWEB-INFlibjbosgi-http-api-1.0.5.jar) – jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class

may 24, 2012 7:51:01 AM org.apache.coyote.AbstractProtocol start

Información: Starting ProtocolHandler [«http-bio-8080»]

may 24, 2012 7:51:01 AM org.apache.coyote.AbstractProtocol start

Información: Starting ProtocolHandler [«ajp-bio-8009»]

may 24, 2012 7:51:01 AM org.apache.catalina.startup.Catalina start

Información: Server startup in 587 ms

 

Es normal, son avisos de arranque aunque aparezcan en rojo. No influyen en el uso normal del programa.

 

«Cómo programar Webs y Servlets en Eclipse», de Ramón Invarato en jarroba.com, con licencia Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0. Obra registrada en Safe Creative.

Ramón Invarato

Diseño y construyo plataformas de datos y sistemas inteligentes, y me motiva compartir esa experiencia aquí.

Te puede interesar

Maven en Eclipse

Como empezar a trabajar con Maven en Eclipse y usarlo. Instalación y uso paso a paso. Todo lo que hay que saber sobre Maven.

13 Ene 2015

Comentarios (13)

  1. Meti

    Hola, tu pagina esta muy buena. Solo te pediría que indicaras cual es el siguiente curso 🙁 seria genial.
    Mil gracias 🙂

    1. Ramón Invarato Jarroba.com

      No tenemos un curso como tal continuado tema a tema. Lo que sí tenemos son artículos de temas concretos que puedes necesitar o que te interese aprender, algunos dependerán de otros o se necesitará conocer conceptos previos (está especificado en los propios artículos). Para tener un buen conocimiento te recomiendo que leas los más que puedas y los apliques al momento de leerlo (practicando, por trabajo, o directamente creando alguna aplicación con motivo de publicarla o venderla por ejemplo).

      En la sección «Entradas» (https://jarroba.com/entradas/) de la web puedes ver todo el repertorio de artículos de los que disponemos previamente.

      De muchos temas de los que tratamos (Java, Python, Machine Learning, Android, etc), si los estudias detenidamente son realmente como cursos enteros con bastante contenido y ejemplos funcionales explicados. La gracia de estos temas es que estudias en el orden que más te interese y motive, luego el siguiente artículo que te llame la atención pues la motivación viene sola al disponer de más conocimiento.

  2. victor meneses

    Como cre un proyecto y/o archivo nuevo, me podrias auxiliar amigo, donde los guardo? dentro del server creado?

    1. victor meneses

      y como lo ejecuto….grx

    2. Ramón Invarato Jarroba.com

      Para crear un nuevo proyecto simplemente elige uno de tipo web. Luego tienes que desplegar el proyecto en webapps, si has configurado bien Eclipse se desplegará solo al ejecutar.

      1. Victor Meneses

        ok pude crear un nuevo proyecto y un archivo como prueba para ver si funcionaba, y en efecto funciona, la siguiente duda que me surgio. es cuando corro el servidor local de eclipse ligado a apache, el apache real ya no lo puedo correr. Es decir, el quue esta fuera de eclipse, como puedo echar a funcionar ambos servidores a la vez? debido a que si cierro eclipse, el archivo ya no lo puedo ejecutar o ver funcionar. Grx

        1. Ramón Invarato Jarroba.com en respuesta a Victor Meneses

          Puedes ejecutar los dos al tiempo, el problema que puedes tener es el del puerto (cambia a otro puerto diferente del 8080 uno de ellos)

          1. Victor Meneses en respuesta a Ramón Invarato

            que tal buen dia, oie amigo aqui molestandote, tendras algun tutorial y/o ejemplos sobre las siguientes tecnologias a nivel basico: 

            -Lenguaje de Programacion Java EE 6
            -Framework Struts 2, Spring y Hibernate

            Que me pases el link porfavor…Gracias.

          2. Ramón Invarato Jarroba.com en respuesta a Victor Meneses

            Buenas Victor. De momento no tenemos tutoriales al respecto, pero lo apuntamos como sugerencia 🙂

  3. cristopher

    hola, primero gracias por la web esta muy buena y me ayuda un monton.
    tengo un problema en la categoria windows > show view > no palicable views.
    creo que me falta instalar algo pero no se que es , espero sea posible que me ayuden.

    saludos y de antemano gracias !

    1. Ramón Invarato Jarroba.com

      Buenas cristopher,

      Tiene pinta de que algo se ha corrompido. Primero prueba a cambiar a otro espacio de trabajo (File/Switch Workspace/Other… y crea otro para ver si se soluciona). Sino, prueba a descargar otra vez Eclipse (http://www.eclipse.org/downloads/), para programar en web utiliza directamente el que se llama «Eclipse IDE for Java EE Developers» que ya trae instalado este plugin por defecto 🙂

  4. Marco

    Me sigue marcando el error y no corre mi jsp

    1. Ramón Invarato Jarroba.com

      Buenas Marco,

      ¿El error que comentas que te sigue dando es el qué hemos enmarcado en rojo? Si es éste debería de funcionarte, ya que no es más que un aviso de rendimiento. Asegúrate también que has reiniciado el Tomcat correctamente, pues no se permiten tener sesiones de simulación previamente funcionando en la asignación del servidor en Eclipse.

Deja un comentario


Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.