Integración de Apache Tomcat 7 con Eclipse JEE

Voy a dar por hecho que sabes que es Apache Tomcat y como funciona (iniciarlo, detenerlo, resetearlo, etc); este tutorial no habla sobre eso, sino mas bien sobre como administrarlo con Eclipse. Esta operación parece algo muy básico pero espero a mas de uno lo ayude en su andar con el desarrollo en Java.
Descargar Apache Tomcat 7
A continuación a través de imagenes veremos como descargar Apache tomcat de la pagina oficial hasta tenerlo en nuestro equipo, me decidí por la versión 7 de Apache Tomcat debido a que a mi consideración la versión 8 todavía no es muy estable. Los pasos que debes realizar son lo siguientes:
- Visitar la pagina de Apache Tomcat y en la parte izquierda dar clic en el enlace para descargar la versión 7:
- Elegir el formato de de descarga del archivo comprimido de Apache Tomcat, en mi caso he elegido el formato .tar.gz, como se observa en la siguientes imágenes:
- Elegir la carpeta donde se desea guardar Apache Tomcat 7:
Como se puede observar en mi caso lo descargue en /home/gonzasilve/java/ y el archivo descargado se llama apache-tomcat-7.0.65.tar.gz:
- El siguiente paso es descomprimir el archivo, para esto podemos dar Clic con el botón derecho y elegir la opción Extraer aquí como se observa en la siguiente imagen:
La otra forma es escribir el siguiente comando en una terminal:
1# tar -zxvf /home/gonzasilve/java/apache-tomcat-7.0.65.tar.gz - Listo, con esto ya tenemos los archivos de Apache Tomcat descargados, no debería haber ningún problema para realizar los pasos anteriores y al final tendrás una carpeta con los siguientes archivos:
Integrar Apache Tomcat con Eclipse JEE
Otra cosa que olvide mencionar y que también doy por hecho es que supongo que ya tienes Eclipse JEE instalado en tu equipo y si todavía no, te invito que visites este tutorial titulado Ambientar equipo con Eclipse JEE en Lubuntu el cual también escribí recientemente, de hecho este tutorial es la continuación de aquel.
Los pasos que debes seguir para integrar el Apache Tomcat que acabas de descargar son lo siguientes:
Abrir Eclipse, si es la primera vez que lo abres debería aparecer una pantalla de bienvenida como la siguiente:
Al cerrarla nos debe aparecer la vista de la perspectiva por defecto (Java EE):
Nos dirigimos al Menú Window -> Show View -> Servers con lo cual se presenta la siguiente pantalla:
Como se puede observar en la imagen anterior, actualmente no hay ningún servidor dado de alta en la vista de servidores de Eclipse; por lo que hay que dar clic en el enlace No servers are available. Click this link to create a new server… para dar de alta Apache Tomcat 7; una vez que damos click se presenta el siguiente cuadro de dialogo:
Esta ventana no esta solicitando que elijamos el tipo de servidor que deseamos registrar, si observas con cuidado el apartado Select the server type:, te darás cuenta que por defecto esta seleccionado un servidor HTTP Básico. A nosotros nos interesa instalar Apache Tomcat 7 que descargamos previamente por lo que desplegamos la lista de Apache y elegimos la versión 7:
En el cuadro de texto Server’s host name: puedes escribir el nombre del servidor, para este ejemplo dejaremos el nombre por defecto el cual es localhost.
En el cuadro de texto Server name: puedes escribir una etiqueta para el servidor, este nombre aparecerá en la vista de servidores, en mi caso voy a asignarle la etiqueta Servidor Tomcat v7.0.65 en localhost.
Da clic en el botón Next para pasar al siguiente paso del asistente:
Este paso consiste en elegir la carpeta que contiene los archivos del Servidor web, si recuerdas en mi caso lo descargue y descomprimí en /home/gonzasilve/java/apache-tomcat-7.0.65. En la caja de texto Tomcat installation directory: escribiré la ruta local que acabo de mencionar; si deseas puedes utilizar el botón Browse… para explorar por el sistema de archivos local y elegir la carpeta deseada.
El botón Download and Install… permite descargar e instalar directamente desde este asistente los archivos de Apache Tomcat, cosa que no haremos pues nosotros previamente ya los descargamos.
La lista desplegable JRE: permite especificar que Ambiente de Ejecución de Java debe utilizar el servidor web que estamos dando de alta, en mi caso elegí la JRE jdk1.7.0_79. A continuación puedes ver mi configuración:
El botón Installed JREs… permite ver y administrar los Ambientes de Ejecución de Java (JRE, Java Runtime Environment) que tenemos dados de alta en Eclipse, la lista de JREs son los mismos que deberían de aparecer en la lista que esta antes de este botón.
Da clic en el botón Next para pasar al siguiente paso del asistente:
En este paso debemos elegir que aplicaciones web deseamos desplegar en el servidor que estamos dando de alta; en el panel izquierdo debería aparecer una lista de las aplicaciones web disponibles y compatibles para desplegar en Apache Tomcat 7 y con ayuda de los botones Add, Remove, Add All >>, Remove All >> agregar o quitar dichas aplicaciones web.
Ojo, cada vez que este servidor web se arranque, todas las aplicaciones que agreguemos en este paso se desplegaran y estarán ejecutándose, por lo cual debemos tener cuidado de no agregar demasiadas para no saturar nuestro servidor. En lo personal yo acostumbro agregar solo las que estoy depurando o desarrollando en un momento dado.
Damos Click en el botón Finish para terminar y dar de alta nuestro Servidor Web, el cual debe aparecer en la vista de servidores:
Configurar Apache Tomcat
Una vez que ya dimos de alta a nuestro servidor Tomcat podemos iniciarlo, detenerlo, reiniciarlo y muchas otras cosas desde el IDE Eclipse, vamos a ver como hacer esto pero primero me gustaría mostrarte como configurar algunas cosas que me parecen interesantes como:
- Crear un usuario para la aplicación administrativa de Apache Tomcat
- Cambiar el numero de puerto 8080 que trae por defecto Apache Tomcat
- Configurar el logging de Apache Tomcat
- Configurar Eclipse para que administre las carpetas originales de Tomcat
Crear un usuario para la aplicación administrativa de Apache Tomcat
Apache Tomcat trae por defecto una aplicación web que sirve para administrar varias cosas, como detener las aplicaciones web, ver el estatus del servidor, desplegar otras aplicaciones, etc. Siempre es bueno contar con varias formas de hacer las cosas ya que sino funciona una podemos intentar con la otra. Es raro pero por defecto Tomcat no trae ningun usuario configurado para acceder a esta aplicacion administrativa (El acceso esta restringido por roles, usuario y password), en otros servidores como Glassfish o Websphere por lo general viene un usuario por defecto pero en este caso no lo hay y es por ello que vamos a dar de alta uno; paraa realizar esto realizamos los siguientes pasos:
- Abrir Eclipse
- Abrimos la vista de Explorador de proyectos; nos dirigimos al menú Window -> Show View -> Project Explorer
- Dar clic en el icono de la carpeta que se muestra (con forma de un folder) e ir desplegando el arbol:
Con doble click abrir el archivo XML tomcat-users.xml. El contenido de este archivo se muestra a continuacion:
123456789101112131415161718192021222324252627282930313233343536<!--?xml version='1.0' encoding='utf-8'?--><!--Licensed to the Apache Software Foundation (ASF) under one or morecontributor license agreements. See the NOTICE file distributed withthis work for additional information regarding copyright ownership.The ASF licenses this file to You under the Apache License, Version 2.0(the "License"); you may not use this file except in compliance withthe License. You may obtain a copy of the License athttp://www.apache.org/licenses/LICENSE-2.0Unless required by applicable law or agreed to in writing, softwaredistributed under the License is distributed on an "AS IS" BASIS,WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.See the License for the specific language governing permissions andlimitations under the License.--><tomcat-users><!--NOTE: By default, no user is included in the "manager-gui" role requiredto operate the "/manager/html" web application. If you wish to use this app,you must define such a user - the username and password are arbitrary.--><!--NOTE: The sample user and role entries below are wrapped in a commentand thus are ignored when reading this file. Do not forget to remove<!.. ..> that surrounds them.--><!--<role rolename="tomcat"/><role rolename="role1"/><user username="tomcat" password="tomcat" roles="tomcat"/><user username="both" password="tomcat" roles="tomcat,role1"/><user username="role1" password="tomcat" roles="role1"/>--></tomcat-users>y justo antes del cierre de la etiqueta
1agregar las siguientes lineas
123<role rolename="manager-gui"><user password="12345" roles="manager-gui" username="pepito"></user></role>Al final el archivo debió quedar así:
1234567891011121314151617181920212223242526272829303132333435363738<!--?xml version='1.0' encoding='utf-8'?--><!--Licensed to the Apache Software Foundation (ASF) under one or morecontributor license agreements. See the NOTICE file distributed withthis work for additional information regarding copyright ownership.The ASF licenses this file to You under the Apache License, Version 2.0(the "License"); you may not use this file except in compliance withthe License. You may obtain a copy of the License athttp://www.apache.org/licenses/LICENSE-2.0Unless required by applicable law or agreed to in writing, softwaredistributed under the License is distributed on an "AS IS" BASIS,WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.See the License for the specific language governing permissions andlimitations under the License.--><tomcat-users><!--NOTE: By default, no user is included in the "manager-gui" role requiredto operate the "/manager/html" web application. If you wish to use this app,you must define such a user - the username and password are arbitrary.--><!--NOTE: The sample user and role entries below are wrapped in a commentand thus are ignored when reading this file. Do not forget to remove<!.. ..> that surrounds them.--><!--<role rolename="tomcat"/><role rolename="role1"/><user username="tomcat" password="tomcat" roles="tomcat"/><user username="both" password="tomcat" roles="tomcat,role1"/><user username="role1" password="tomcat" roles="role1"/>--><role rolename="manager-gui"><user password="12345" roles="manager-gui" username="pepito"></user></role></tomcat-users>no olvidar cambiar el usuario pepito y el password 12345 por los datos deseados.
- Guardar el archivo tomcat-users.xml
Cambiar el numero de puerto 8080 que trae por defecto Apache Tomcat
Por defecto cuando arrancamos Apache Tomcat éste escucha por el puerto 8080 todas las peticiones HTTP. A continuación veremos como cambiar ese puerto por defecto ya que veces es necesario, por ejemplo, para correr dos instancias de Apache Tomcat deben configurarse para escuchar por diferentes puertos, ademas en ambientes productivos debe hacerse por razones de seguridad.
Los pasos que debes seguir para cambiar el puerto 8080 son los siguientes:
- Abrir Eclipse
- Abrimos la vista de Explorador de proyectos; nos dirigimos al menú Window -> Show View -> Project Explorer
- Dar clic en el icono de la carpeta que se muestra (con forma de un folder) e ir desplegando el arbol:
-
Con doble click abrir el archivo XML server.xml. El contenido de este archivo se muestra a continuacion:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134<!--?xml version='1.0' encoding='utf-8'?--><!--Licensed to the Apache Software Foundation (ASF) under one or morecontributor license agreements. See the NOTICE file distributed withthis work for additional information regarding copyright ownership.The ASF licenses this file to You under the Apache License, Version 2.0(the "License"); you may not use this file except in compliance withthe License. You may obtain a copy of the License athttp://www.apache.org/licenses/LICENSE-2.0Unless required by applicable law or agreed to in writing, softwaredistributed under the License is distributed on an "AS IS" BASIS,WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.See the License for the specific language governing permissions andlimitations under the License.--><!-- Note: A "Server" is not itself a "Container", so you may notdefine subcomponents such as "Valves" at this level.Documentation at /docs/config/server.html--><server port="8005" shutdown="SHUTDOWN"><listener classname="org.apache.catalina.startup.VersionLoggerListener"><!-- Security listener. Documentation at /docs/config/listeners.html<Listener className="org.apache.catalina.security.SecurityListener" />--><!--APR library loader. Documentation at /docs/apr.html --><listener classname="org.apache.catalina.core.AprLifecycleListener" sslengine="on"><!--Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html --><listener classname="org.apache.catalina.core.JasperListener"><!-- Prevent memory leaks due to use of particular java/javax APIs--><listener classname="org.apache.catalina.core.JreMemoryLeakPreventionListener"><listener classname="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"><listener classname="org.apache.catalina.core.ThreadLocalLeakPreventionListener"><!-- Global JNDI resourcesDocumentation at /docs/jndi-resources-howto.html--><globalnamingresources><!-- Editable user database that can also be used byUserDatabaseRealm to authenticate users--><resource name="UserDatabase" auth="Container" type="org.apache.catalina.UserDatabase" description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" pathname="conf/tomcat-users.xml"></resource></globalnamingresources><!-- A "Service" is a collection of one or more "Connectors" that sharea single "Container" Note: A "Service" is not itself a "Container",so you may not define subcomponents such as "Valves" at this level.Documentation at /docs/config/service.html--><service name="Catalina"><!--The connectors can use a shared executor, you can define one or more named thread pools--><!--<Executor name="tomcatThreadPool" namePrefix="catalina-exec-"maxThreads="150" minSpareThreads="4"/>--><!-- A "Connector" represents an endpoint by which requests are receivedand responses are returned. Documentation at :Java HTTP Connector: /docs/config/http.html (blocking & non-blocking)Java AJP Connector: /docs/config/ajp.htmlAPR (HTTP/AJP) Connector: /docs/apr.htmlDefine a non-SSL HTTP/1.1 Connector on port 8080--><connector port="8080" protocol="HTTP/1.1" connectiontimeout="20000" redirectport="8443"><!-- A "Connector" using the shared thread pool--><!--<Connector executor="tomcatThreadPool"port="8080" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" />--><!-- Define a SSL HTTP/1.1 Connector on port 8443This connector uses the BIO implementation that requires the JSSEstyle configuration. When using the APR/native implementation, theOpenSSL style configuration is required as described in the APR/nativedocumentation --><!--<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"maxThreads="150" SSLEnabled="true" scheme="https" secure="true"clientAuth="false" sslProtocol="TLS" />--><!-- Define an AJP 1.3 Connector on port 8009 --><connector port="8009" protocol="AJP/1.3" redirectport="8443"><!-- An Engine represents the entry point (within Catalina) that processesevery request. The Engine implementation for Tomcat stand aloneanalyzes the HTTP headers included with the request, and passes themon to the appropriate Host (virtual host).Documentation at /docs/config/engine.html --><!-- You should set jvmRoute to support load-balancing via AJP ie :<Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">--><engine name="Catalina" defaulthost="localhost"><!--For clustering, please take a look at documentation at:/docs/cluster-howto.html (simple how to)/docs/config/cluster.html (reference documentation) --><!--<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>--><!-- Use the LockOutRealm to prevent attempts to guess user passwordsvia a brute-force attack --><realm classname="org.apache.catalina.realm.LockOutRealm"><!-- This Realm uses the UserDatabase configured in the global JNDIresources under the key "UserDatabase". Any editsthat are performed against this UserDatabase are immediatelyavailable for use by the Realm. --><realm classname="org.apache.catalina.realm.UserDatabaseRealm" resourcename="UserDatabase"></realm><host name="localhost" appbase="webapps" unpackwars="true" autodeploy="true"><!-- SingleSignOn valve, share authentication between web applicationsDocumentation at: /docs/config/valve.html --><!--<Valve className="org.apache.catalina.authenticator.SingleSignOn" />--><!-- Access log processes all example.Documentation at: /docs/config/valve.htmlNote: The pattern used is equivalent to using pattern="common" --><valve classname="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="%h %l %u %t "%r" %s %b"></valve></host></realm></engine></connector></connector></service></listener></listener></listener></listener></listener></listener></server>
Este archivo server.xml nos permitirá cambiar el puerto por defecto y cambiar el patrón que usa Apache Tomcat para la bitácora de logging. Sin embargo, vayamos por partes, primero cambiemos el puerto, localiza las siguientes lineas:
12<connector port="8080" protocol="HTTP/1.1" connectiontimeout="20000" redirectport="8443"></connector>
y cambia el parámetro port=»8080″ por el puerto deseado; por ejemplo ponemos el puerto 8087, como se observa a continuación:
12<connector port="8087" protocol="HTTP/1.1" connectiontimeout="20000" redirectport="8443"></connector>
Cada vez que hacemos una petición de acceso HTTP ( GET, POST, DELETE, etc) a Tomcat, éste guarda en un archivo .txt los siguientes datos en un archivo:- La dirección IP del host que hizo la peticion
- Si es una aplicación con seguridad guarda el usuario
- la fecha y hora
- El tipo de petición
- El código de estado HTTP devuelto (200 ok, 400 Solicitud incorrecta, 401 No autorizado, 404 No encontrado, etc.)
- La cantidad de datos (en bytes) retornados al cliente que realizo la petición
Por defecto Tomcat guarda este archivo en la ruta /home/gonzasilve/java/apache-tomcat-7.0.65/logs/localhost_access_log.[FECHA-ACTUAL].txt donde [FECHA-ACTUAL] representa la fecha actual del sistema en el formato AAAA-MM-DD. Como puedes ver, podríamos decir que este archivo es una bitácora de accesos. Recordemos que descargamos Apache Tomcat en /home/gonzasilve/java/apache-tomcat-7.0.65/. Por medio del archivo server.xml podemos cambiar la carpeta donde se guardara ese archivo .txt, el nombre del archivo y el patrón (o layout) que usa para escribir los datos en la bitácora de accesos.
Por favor localiza las siguientes lineas en el archivo server.xml (están casi hasta el final):
12<valve classname="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="%h %l %u %t "%r" %s %b"></valve>El parámetro directory=»logs» es el nombre de la carpeta donde se creara el archivo de log .txt. Recuerda que esta carpeta es relativa a la carpeta donde descargamos Apache tomcat (/home/gonzasilve/java/apache-tomcat-7.0.65/). En este caso vamos a cambiar la carpeta por otra llamada bitacora (previamente creada). En mi caso voy a colocar el valor bitacora para este parámetro.
El parámetro prefix=»localhost_access_log.» es un prefijo para darle nombre al archivo de log .txt. Recuerda, Tomcat agregara [FECHA-ACTUAL] + el contenido del parámetro suffix=».txt». En mi caso voy a colocar el valor localhost_bitacoraAccesos_log. para este parámetro.
El parámetro
1pattern="%h %l %u %t "%r" %s %b"Es el patrón (o layout) que se utiliza para escribir los datos dentro del archivo de la bitácora, en el patrón los valores %h, %l, %u, %t, %r, %s, %b significan lo siguiente:
- %h El host que realizo la petición HTTP a Apache Tomcat
- %u El nombre de usuario, solo en caso de que se estén utilizando sesiones para autenticarse con un usuario y password
- %t La fecha y hora actual del servidor donde esta Apache Tomcat
- %r El tipo de petición (GET, POST, DELETE, etc.)
- %s El código de estado HTTP devuelto (200 ok, 400 Solicitud incorrecta, 401 No autorizado, 404 No encontrado, etc.)
- %b La cantidad de datos (en bytes) retornados al cliente que realizo la petición
En mi caso voy a colocar el siguiente valor para este parámetro:
1pattern="IP %h %l Usuario %u Fecha %t Peticion "%r" Estatus %s bytesObtenidos %b"Al final el archivo debió quedar así:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134<!--?xml version='1.0' encoding='utf-8'?--><!--Licensed to the Apache Software Foundation (ASF) under one or morecontributor license agreements. See the NOTICE file distributed withthis work for additional information regarding copyright ownership.The ASF licenses this file to You under the Apache License, Version 2.0(the "License"); you may not use this file except in compliance withthe License. You may obtain a copy of the License athttp://www.apache.org/licenses/LICENSE-2.0Unless required by applicable law or agreed to in writing, softwaredistributed under the License is distributed on an "AS IS" BASIS,WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.See the License for the specific language governing permissions andlimitations under the License.--><!-- Note: A "Server" is not itself a "Container", so you may notdefine subcomponents such as "Valves" at this level.Documentation at /docs/config/server.html--><server port="8005" shutdown="SHUTDOWN"><listener classname="org.apache.catalina.startup.VersionLoggerListener"><!-- Security listener. Documentation at /docs/config/listeners.html<Listener className="org.apache.catalina.security.SecurityListener" />--><!--APR library loader. Documentation at /docs/apr.html --><listener classname="org.apache.catalina.core.AprLifecycleListener" sslengine="on"><!--Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html --><listener classname="org.apache.catalina.core.JasperListener"><!-- Prevent memory leaks due to use of particular java/javax APIs--><listener classname="org.apache.catalina.core.JreMemoryLeakPreventionListener"><listener classname="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"><listener classname="org.apache.catalina.core.ThreadLocalLeakPreventionListener"><!-- Global JNDI resourcesDocumentation at /docs/jndi-resources-howto.html--><globalnamingresources><!-- Editable user database that can also be used byUserDatabaseRealm to authenticate users--><resource name="UserDatabase" auth="Container" type="org.apache.catalina.UserDatabase" description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" pathname="conf/tomcat-users.xml"></resource></globalnamingresources><!-- A "Service" is a collection of one or more "Connectors" that sharea single "Container" Note: A "Service" is not itself a "Container",so you may not define subcomponents such as "Valves" at this level.Documentation at /docs/config/service.html--><service name="Catalina"><!--The connectors can use a shared executor, you can define one or more named thread pools--><!--<Executor name="tomcatThreadPool" namePrefix="catalina-exec-"maxThreads="150" minSpareThreads="4"/>--><!-- A "Connector" represents an endpoint by which requests are receivedand responses are returned. Documentation at :Java HTTP Connector: /docs/config/http.html (blocking & non-blocking)Java AJP Connector: /docs/config/ajp.htmlAPR (HTTP/AJP) Connector: /docs/apr.htmlDefine a non-SSL HTTP/1.1 Connector on port 8080--><connector port="8087" protocol="HTTP/1.1" connectiontimeout="20000" redirectport="8443"><!-- A "Connector" using the shared thread pool--><!--<Connector executor="tomcatThreadPool"port="8080" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" />--><!-- Define a SSL HTTP/1.1 Connector on port 8443This connector uses the BIO implementation that requires the JSSEstyle configuration. When using the APR/native implementation, theOpenSSL style configuration is required as described in the APR/nativedocumentation --><!--<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"maxThreads="150" SSLEnabled="true" scheme="https" secure="true"clientAuth="false" sslProtocol="TLS" />--><!-- Define an AJP 1.3 Connector on port 8009 --><connector port="8009" protocol="AJP/1.3" redirectport="8443"><!-- An Engine represents the entry point (within Catalina) that processesevery request. The Engine implementation for Tomcat stand aloneanalyzes the HTTP headers included with the request, and passes themon to the appropriate Host (virtual host).Documentation at /docs/config/engine.html --><!-- You should set jvmRoute to support load-balancing via AJP ie :<Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">--><engine name="Catalina" defaulthost="localhost"><!--For clustering, please take a look at documentation at:/docs/cluster-howto.html (simple how to)/docs/config/cluster.html (reference documentation) --><!--<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>--><!-- Use the LockOutRealm to prevent attempts to guess user passwordsvia a brute-force attack --><realm classname="org.apache.catalina.realm.LockOutRealm"><!-- This Realm uses the UserDatabase configured in the global JNDIresources under the key "UserDatabase". Any editsthat are performed against this UserDatabase are immediatelyavailable for use by the Realm. --><realm classname="org.apache.catalina.realm.UserDatabaseRealm" resourcename="UserDatabase"></realm><host name="localhost" appbase="webapps" unpackwars="true" autodeploy="true"><!-- SingleSignOn valve, share authentication between web applicationsDocumentation at: /docs/config/valve.html --><!--<Valve className="org.apache.catalina.authenticator.SingleSignOn" />--><!-- Access log processes all example.Documentation at: /docs/config/valve.htmlNote: The pattern used is equivalent to using pattern="common" --><valve classname="org.apache.catalina.valves.AccessLogValve" directory="bitacora" prefix="localhost_bitacoraAccesos_log." suffix=".txt" pattern="IP %h %l Usuario %u Fecha %t Peticion "%r" Estatus %s bytesObtenidos %b"></valve></host></realm></engine></connector></connector></service></listener></listener></listener></listener></listener></listener></server> - Guardar el archivo server.xml
Ya para terminar de configurar Apache Tomcat en Eclipse, vamos a configurar Eclipse para que administre las carpetas originales de Tomcat.
Configurar Eclipse para que administre las carpetas originales de Tomcat
Este paso consiste en configurar a Eclipse JEE para que tome el control total de los archivos de Apache Tomcat que descargamos previamente en /home/gonzasilve/java/apache-tomcat-7.0.65/. Bueno, aquí falta explicar algunas cosas; si en este momento arrancamos a Apache Tomcat (desde Eclipse), por defecto Eclipse va a, por decir así, crear una copia de los archivos principales de Apache en la carpeta del espacio de trabajo actual (workspace). Si cuando dimos de alta a apache Tomcat, lo configuramos para que hiciera el despliegue (deploy) de alguna aplicación web, éstas estarán disponibles para utilizarlas.
Sin embargo la aplicación administrativa (de la que hablamos previamente) no estara disponible, ni ninguna de las aplicaciones web localizadas en la carpeta de despliegue del Apache Tomcat que descargamos (en mi caso esta carpeta es /home/gonzasilve/java/apache-tomcat-7.0.65/webapps/).
Para que Eclipse no realice una copia de Apache tomcat, debemos configurarlo para que utilice los archivos originales de Tomcat, y con esto también quedaran desplegadas todas las aplicaciones que tengamos en /home/gonzasilve/java/apache-tomcat-7.0.65/webapps/, incluida la aplicación administrativa.
Realicemos esta configuracion pues:
- Abrir Eclipse JEE
-
Abrimos la vista de Servidores; nos dirigimos al menú Window -> Show View -> Servers
- En la vista Servers dar clic con el botón derecho sobre Apache Tomcat y elegir la opción Properties, se presentara la siguiente ventana:
Dar clic primero en el boton Switch Location despues en Apply y por ultimo en OK
- A continuacion en la vista Servers damos clic con el boton derecho sobre Apache Tomcat y elegimos la opcion Open para abrir la configuracion de Apache tomcat:
Para guardar el cambio debemos dar click en el boton Save:
Iniciar Apache Tomcat 7
Lo que sigue a continuacion es arrancar el servidor; lo cual se muestra en las siguientes imagenes:
Te daras cuenta que acabo de arrancarse Tomcat cuando en la vista Console veas una salida como la siguiente:
Una vez iniciado Apache Tomcat 7 podemos abrir un navegador como Firefox y escribir la URL: http://localhost:8080/ para ver la herramienta de administracion del servidor; tema que no explicare porque este articulo ya es demasiado grande pero que facilmente puedes encontrar buscando en Google. Si realizaste todo bien, deberia mostrarse una pantalla similar a esta:
Listo, hemos terminado de integrar Apache Tomcat 7 con Eclipse JEE. En futuros tutoriales usare este articulo para recordarte como se configuran estan herramientas de desarrollo java. Hasta la proxima.
Saludos!.