JSP y los servlets de Java son dos de esas tecnologías que parece que con el tiempo no han tenido el auge esperado (o al menos esa es mi sensación). De todas formas, siguen siendo dos alternativas muy relacionadas entre sí y muy válidas a la vez, para tener en cuenta si queremos llevar a cabo un desarrollo web.
El servidor más famoso para estas tecnologías es Apache Tomcat. Veamos cómo instalarlo de forma manual en cualquier distribución. Digo manual porque en los repositorios de Ubuntu no aparece ningún paquete preparado de esta versión, la 7. Suponemos que tenéis instalado Java en vuestro equipo.
Descarga y colocación en directorio destino
Lo primero será acceder a la web oficial de Tomcat y en el menú de la izquierda elegir descargas de la versión 7.0. Bajamos a Binary distributions y elegimos dentro de Core, la versión .tar.gz.
Lo descomprimimos con nuestro interfaz gráfico o mediante comando:
$ tar xvzf apache-tomcat-7.1.4.tar.gz
Y continuamos el proceso. Creamos un directorio adecuado para albergarlo:
$ sudo mkdir /usr/share/tomcat7
Ahora es el momento de mover el contenido:
$ sudo mv apache-tomcat-7.1.4/ /usr/share/tomcat7
Configuración de variables de entorno
Ahora debemos configurar las variable de entorno, pero antes, debemos saber dónde tenemos instalado tanto la JDK (Java Development Kit) como la JRE (Java Runtime Environment). Para ello, usamos la información adquirida en esta entrada de cómo saber la ruta de los ficheros que instala un paquete. Los paquetes a buscar serán en este caso (si usáis la JDK y la JRE de Sun/Oracle) los siguientes:
Las rutas en mi caso son:
Ahora agregamos al fichero de arranque del sistema (para editarlo tenéis la orden abajo):
$ sudo gedit /usr/share/tomcat7/bin/catalina.sh
Las siguientes líneas:
#!/bin/sh JAVA_HOME="/ruta/jdk" JRE_HOME="/ruta/jre" ...
Configuración de los usuarios
Editamos ahora el fichero: /usr/share/tomcat7/conf/tomcat-users.xml para introducir un nuevo usuario que será el gestor de la administración web:
<?xml version='1.0' encoding='utf-8'?> <tomcat-users> <role rolename="manager-gui"/> <user username="usuario" password="contrasena" roles="manager-gui"/> </tomcat-users>
Arranque y parada del servidor
Arranque:
sudo /usr/share/tomcat7/bin/startup.sh
Parada:
sudo /usr/share/tomcat7/bin/shutdown.sh
Una vez hecho esto (el arranque), podemos acceder a http://localhost:8080 (el puerto por el por defecto escucha Tomcat) y comprobar que el proceso ha funcionado correctamente:
https://www.youtube.com/embed/z-xGk9c_eOw Guionista y locutor: Manuel Ignacio López Quintero.Fecha de publicación: 31 de diciembre de 2024.
Ver comentarios
Como que no han tenido el exito esperado? no entiendo mucho de tecnologias como php o .NET, pero creo que los servlets son la base de muchoas cosas que luego utilizamos sin saber que tienen por debajo. Así por ejemplo si te pones a mirar gestores de contenidos y de portal ¿sobre que estan construidos? los hay sobre php, sobre .NET y sobre Java (servlet ). Los servlet son lo primero que sustitullo a los antiguos CGI que se hacian en C, y los JSP son Servlets disfrazados. Las paginas/portales sistemas de gran tamaño no se pueden hacer sobre php, y .NET tambien tiene sus limites. Estoy de acuerdo en que las jsp no son lo mas bonito del mundo, que lleva algo mas de tiempo que la pagina quede bonita y que funcione, pero mirar lo que le ha pasado a twiter y a otros similares, lo hago en un lenguaje rapido y luego cuando crezco, que? sa migrar a java (oa a otras tecnologias que las hay)
Lo de apache Tomcat 7 a mi me gusta, se que hay alternativas mejores, (JBoss) pero a veces para empezar es mas sencillo tomcat, y si creces migrar a un servidor empresarial puede no ser tan costoso (ojo que siempre hay algun costo y un monton de pruebvas que hacer)
@Josu, me parece un comentario muy completo, aunque poco contrastado en lo que se refiere a usar PHP en grandes sistemas, existen muchas más alternativas como RoR, pero decir que un sistema de gran tamaño no se puede construir con PHP no tiene ningún sentido, ¿dónde está esa limitación?
Perdona, he puesto el comentario en un momento en el curro y no he podido buscar algunos datos que no tenia a mano.
Precisamente que hablas de RoR, twitter esta/estaba hecho en RoR. Esto les permitio hacer un sistema rapido con poca inversion incial, etc.... pero ahora despues de unos años tienen que migrar a Java (creo) no porque el sistema se caiga, pero el uso de memoria, las necesidades de harware para atender N peticiones, etc... con estos lenguajes, a medida que crecen los usuarios se multiplican.
Tienes razón en que limites como tal no hay, pero hay un punto en el que la inversion en harware, mantenimiento etc... se dispara mucho.
Supongo que habrá articulos por ahi sobre lo de twitter, es un caso de estudio de universidades (de no hace mucho), en el que se muestra las ventajas y desventajas de uno y otros sistemas. No digo que ninguno sea malo, cada lenguaje/sistema tiene sus ventajas, solo que no podemos dejar a los lenguajes como Java (Servlets/jsp) fuera del juego porque php arrase, y los frameworks como rails o DJango esten haciendo las cosas mas faciles a los programadores. No debemos olvidar que por debajo de Struts y JSF (asi como de muchas otros Frameworks) estan los Servlets.
PD: Respeto a todos los lenguajes/plataformas/Frameworks etc... tengo mis favoritos y algunos que me parecen negativos para la industria informatica, pero para gustos/opiniones los colores.
aqui hay un articulo al respecto:
http://techcrunch.com/2008/05/01/twitter-said-to-be-abandoning-ruby-on-rails/
lo de php creo que era como capa de presentacion metiendo java por detras, pero creo que no lo tenian claro, al menos cuando lo vi hace tiempo.
@Josu: A lo que me refiero en la entrada cuando hablo de que JSP no ha llegado al nivel que se le suponía, es a que pocas startups y pocos pequeños proyectos web que pueblan la red lo usan como tecnología de referencia.
Sé que tras muchas grandes aplicaciones hay servlets y JSP, que al fin y al cabo, son lo mismo en el fondo, pero sé también que en su día yo mismo le auguré un futuro mucho mejor y parece que al final se ha difuminado un poco.
Sino fíjate la cantidad de entradas que aparecen en Google con respecto a otros lenguajes y tecnologías.
Hay tienes razon, hay muchas mas paginas, startups, etc. en otros lenguajes y tecnologias. Aun así el motivo (a mi parecer) esta en que la mayoria de startups tienen un numero limitado pero creciente de usuarios, etc... y las que crecen, se ven obligados a ir a lenguajes/tecnologias algo mas eficientes, pero razón tienes en que hay muchas mas startups y entradas respecto a otros lenguajes, sobre todo sobre lenguajes rapidos y con resultados esteticamente llamativos sin necesidad de hacer grandes cosas.
Buenos dias,
he tratado de instalar apache tomcat 6, en una consola de ubuntu, segui todos los pasos de instalacion:
*Creacion de un directorio nuevo para tomcat:
sudo mkdir /usr/local/tomcat
*Descomprimi el archivo dentro del directorio creado:
tar xvf apache-tomcat-6.0.33.tar.gz
*Configure las siguientes variables de entorno en el archivo .bashrc de home y en catalina.sh:
CATALINA_HOME=/usr/local/tomcat
export CATALINA_HOME
PATH="$PATH:/usr/local/tomcat/bin
export PATH
Me genera los siguientes errores cuando quiero ejecutar tomcat:
/usr/local/tomcat/bin# startup.sh
startup.sh: orden no encontrada
/home/usuario# sudo service tomcat6 start
tomcat6: unrecognized service
Queria una sugerencia para que el servico tomcat pueda funcionar.
Gracias.
@Instalacion Tomcat 6: Prueba a hacer, "./startup.sh" en lugar de "startup.sh" directamente.
@Instalacion Tomcat 6 sino te funciona lo que dice Carazo ejecuta la orden
sh startup.sh
un saludo
Javier
Hola que tal, yo tengo instalado el tomcat en mi computadora (con Windows) y tuve que instalarlo en un servidor que hice (con Linux), el problema es que en mi maquina todo funciona perfectamente pero cuando subo mi aplicación al servidor varias cosas no funcionan, desde una pagina xhtml mando llamar un método con un parámetro, este parámetro lo obtengo la base de datos, el tipo de dato es BIG INT, y el método lo recibe como String, entonces el error esta ahi, no encuentra el método por que el tipo de dato no coincide, lo que no entiendo es por que de manera local no me genera esos errores, incluso subí mi aplicación a un servicio de host y ¡ TAMBIÉN FUNCIONA CORRECTAMENTE!, entonces deduzco que el problema se genera por alguna configuración del servidor, alguien sabe algo al respecto?