tomcat

propósito

  • notas sobre el uso de tomcat

configuración

puerto

  • tomcat se levanta en el puerto 8080
    • localhost:8080

despliegue

  • el servidor despliega los war que tenga el directorio webapps
  • por ejemplo en C:\servidores\ApacheTomcat7.0.27\webapps

servidores

versión 7.0.27

  • es la que uso en dga
  • renombro el directorio para no dejar espacios en blanco
  • esta en C:\servidores\ApacheTomcat7.0.27

XAMP

  • C:\XAMPP\TOMCAT>catalina_start.bat
    • localhost:8080/manager/html
    • javier
    • javier
  • lo puedo lanzar desde c:\xampp\tomcat>catalina_start.bat

errores

puerto compartido

  • el error al lanzar tomcat en el mismo puerto que oracle
dic 22, 2017 1:42:43 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-bio-8080"]
dic 22, 2017 1:42:43 PM org.apache.coyote.AbstractProtocol init
SEVERE: Failed to initialize end point associated with ProtocolHandler ["http-bio-8080"]

manager

archivo de usuarios de tomcat

  • para poder entrar en el manager del servidor hay que editar el archivo C:\servidores\ApacheTomcat7.0.27\conf\tomcat-users.xml
  • al manager se accede en la dirección http://localhost:8080/manager/html
  <role rolename="tomcat"/>
  <role rolename="role1"/>
  <role rolename="admin-gui"/>
  <role rolename="tomcat"/>
  <role rolename="manager-gui"/>
  <role rolename="manager-script"/>
  <role rolename="manager-status"/> 
  <user username="admin"  password="admin"  roles="tomcat,admin-gui,manager-gui,manager-script,manager-status"/>
  <user username="javier" password="javier" roles="tomcat,admin-gui,manager-gui,manager-script,manager-status"/>
  <user username="tomcat" password="tomcat" roles="tomcat,admin-gui,manager-gui,manager-script,manager-status"/>
</tomcat-users>
  • de esta forma los usuario javier, tomcat y admin tienen todos los permisos necesarios

server.xml

  • cambio server.xml para que use la base de datos del pc VAIO cambiando simplemente localhost por 192.168.1.111 que es la ip del otro portátil.
        <Resource name="jdbc/BDGAB"
                    auth="Container"
                    type="javax.sql.DataSource"
                    driverClassName="oracle.jdbc.driver.OracleDriver"
                    factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
                    url="jdbc:oracle:thin:@192.168.1.111:1521:xe"
                    username="gab"
                    password="desarrollo"
                    maxActive="20"
                    maxIdle="10"
                    maxWait="-1"
                    scope="Sharable" />
  • así evito el conflicto de puertos y libero al portátil de desarrollo.

problemas

borrar despliegues

  • es importante borrar lo desplegado en
    • C:\servidores\ApacheTomcat7.0.27\webapps
    • C:\servidores\ApacheTomcat7.0.27\work\Catalina\localhost
  • no borrar el despliegue en el directorio work hace que los cambios sobre todo en librerías no tengan efecto

con una aplicación simple struts me da este molesto error

INFO: Despliegue del archivo C:\servidores\ApacheTomcat7.0.27\webapps\Strutus2XML.war de la aplicaci¾n web
dic 28, 2017 9:59:35 PM org.apache.catalina.core.StandardContext startInternal
SEVERE: Error filterStart
dic 28, 2017 9:59:35 PM org.apache.catalina.core.StandardContext startInternal
SEVERE: Fall¾ en arranque del Contexto [/Strutus2XML] debido a errores previos
  • miro los logs del servidor en C:\servidores\ApacheTomcat7.0.27\logsp
  • localhost.2017-12-28.log
dic 28, 2017 9:59:35 PM org.apache.catalina.core.StandardContext filterStart
SEVERE: Excepción arrancando filtro struts2
java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1711)
  • borro lo desplegado en

    • C:\servidores\ApacheTomcat7.0.27\webapps
    • C:\servidores\ApacheTomcat7.0.27\work\Catalina\localhost
  • borrar el directorio

    • C:\servidores\ApacheTomcat7.0.27\work\Catalina\localhost
  • ha cambiado el problema

    • es siempre un consejo de David Torrea 👍