Principiante
Hola, estoy intentando empezar a utilizar JSP bajo un servidor Tomcat. El problema es que cuando creo una carpeta en el directorio webapps y meto allà el archivo con el código jsp, el servidor no encuentra la carpeta. No se si hay que configurar algo, meter algún archivo más o que. También me gustarÃa conocer algún tutorial o libro que esté bien.
Un saludo, gracias.
Un saludo, gracias.
Hola Rookie:
Debes configurar el server.xml del TOMCAT para indicarle donde ir a buscar los ficheros.
El server.xml esta en TOMCAT/conf/server.xml de tu instalación.
Edita el fichero en algun editor de texto plano (Notepad, Ultraedit o similar) y pegale una mirada. Al principio puede que te suene a chino pero de a poco veras como es bastante legible. Te adelanto algo para que puedas ir probando ....
La estructura basica de este fichero XML es la siguiente:
<server>
<service>
<engine>
<host>
<context>
</context>
</host>
</engine>
</service>
</server>
Por defecto tendras un etiqueta de server parecida a esta:
<Server port="8005" shutdown="SHUTDOWN" debug="0">
Dejala como esta ....
Mas abajo aparece esta otra:
<Service name="Tomcat-Standalone">
Lo mismo, tal cual .... :)
Si estas trabajando en local, la etiqueta engine debe ser algo asi:
<Engine name="Standalone" defaultHost="localhost" debug="0">
y la de host algo asi:
<Host name="localhost" debug="0" appBase="webapps"
unpackWARs="true" autoDeploy="true">
Donde para Localhost la carpeta por defecto es webapps.
Hasta aqui no hemos tocado nada .....
Dentro de host (que apunta a webapps) configuramos las carpetas/contextos que contienen tus JSP.
Imaginemos que la carpeta se llama proyecto y esta en TOMCAT/webapps/ ..... el bloque de context debe ser algo asi ....
<Context className="org.apache.catalina.core.StandardContext" cachingAllowed="true" charsetMapperClass="org.apache.catalina.util.CharsetMapper" cookies="true" crossContext="true" debug="0" docBase="proyecto" mapperClass="org.apache.catalina.core.StandardContextMapper" path="/proyecto" privileged="false" reloadable="true" swallowOutput="false" useNaming="true" wrapperClass="org.apache.catalina.core.StandardWrapper">
</Context>
Si vas a utilizar BBDD, por ejemplo MySQL, debes incluir una llamada a la misma dentro de context .... quedaria algo asi (suponiendo que la BBDD se llama bbdd_proyecto)
<Context className="org.apache.catalina.core.StandardContext" cachingAllowed="true" charsetMapperClass="org.apache.catalina.util.CharsetMapper" cookies="true" crossContext="true" debug="0" docBase="proyecto" mapperClass="org.apache.catalina.core.StandardContextMapper" path="/proyecto" privileged="false" reloadable="true" swallowOutput="false" useNaming="true" wrapperClass="org.apache.catalina.core.StandardWrapper">
<Resource name="jdbc/bbdd_proyecto" scope="Shareable" type="javax.sql.DataSource" auth="Container"/>
<ResourceParams name="jdbc/bbdd_proyecto">
<parameter><name>factory</name><value>org.apache.commons.dbcp.BasicDataSourceFactory</value></parameter>
<parameter><name>removeAbandoned</name><value>true</value></parameter>
<parameter><name>removeAbandonedTimeout</name><value>180</value></parameter>
<parameter><name>maxWait</name><value>10000</value></parameter>
<parameter><name>maxActive</name><value>100</value></parameter>
<parameter><name>username</name><value>nombre_del_usuario</value></parameter>
<parameter><name>password</name><value>psw_del_usuario</value></parameter>
<parameter><name>url</name><value>jdbc:mysql://localhost:3306/bbdd_proyecto?autoReconnect=true</value></parameter>
<parameter> <name>driverClassName</name><value>org.gjt.mm.mysql.Driver</value></parameter>
<parameter><name>maxIdle</name><value>2</value></parameter>
</ResourceParams>
</Context>
Recuerda que necesitas tener el conector JDBC y el driver para MySQL dentro del TOMCAT/common/lib
estos ficheros son el jdbc2_0-stdext.jar y el mm.mysql-2.0.4-bin.jar.
Arrancas el TOMCAT y en un navegador pones algo asi:
http://localhost:8080/proyecto/index.jsp
y deberia verse ....
Cualquier duda, enviame un mail
Salu2
Eu
Ufff... que largo quedo esto ... !
Debes configurar el server.xml del TOMCAT para indicarle donde ir a buscar los ficheros.
El server.xml esta en TOMCAT/conf/server.xml de tu instalación.
Edita el fichero en algun editor de texto plano (Notepad, Ultraedit o similar) y pegale una mirada. Al principio puede que te suene a chino pero de a poco veras como es bastante legible. Te adelanto algo para que puedas ir probando ....
La estructura basica de este fichero XML es la siguiente:
<server>
<service>
<engine>
<host>
<context>
</context>
</host>
</engine>
</service>
</server>
Por defecto tendras un etiqueta de server parecida a esta:
<Server port="8005" shutdown="SHUTDOWN" debug="0">
Dejala como esta ....
Mas abajo aparece esta otra:
<Service name="Tomcat-Standalone">
Lo mismo, tal cual .... :)
Si estas trabajando en local, la etiqueta engine debe ser algo asi:
<Engine name="Standalone" defaultHost="localhost" debug="0">
y la de host algo asi:
<Host name="localhost" debug="0" appBase="webapps"
unpackWARs="true" autoDeploy="true">
Donde para Localhost la carpeta por defecto es webapps.
Hasta aqui no hemos tocado nada .....
Dentro de host (que apunta a webapps) configuramos las carpetas/contextos que contienen tus JSP.
Imaginemos que la carpeta se llama proyecto y esta en TOMCAT/webapps/ ..... el bloque de context debe ser algo asi ....
<Context className="org.apache.catalina.core.StandardContext" cachingAllowed="true" charsetMapperClass="org.apache.catalina.util.CharsetMapper" cookies="true" crossContext="true" debug="0" docBase="proyecto" mapperClass="org.apache.catalina.core.StandardContextMapper" path="/proyecto" privileged="false" reloadable="true" swallowOutput="false" useNaming="true" wrapperClass="org.apache.catalina.core.StandardWrapper">
</Context>
Si vas a utilizar BBDD, por ejemplo MySQL, debes incluir una llamada a la misma dentro de context .... quedaria algo asi (suponiendo que la BBDD se llama bbdd_proyecto)
<Context className="org.apache.catalina.core.StandardContext" cachingAllowed="true" charsetMapperClass="org.apache.catalina.util.CharsetMapper" cookies="true" crossContext="true" debug="0" docBase="proyecto" mapperClass="org.apache.catalina.core.StandardContextMapper" path="/proyecto" privileged="false" reloadable="true" swallowOutput="false" useNaming="true" wrapperClass="org.apache.catalina.core.StandardWrapper">
<Resource name="jdbc/bbdd_proyecto" scope="Shareable" type="javax.sql.DataSource" auth="Container"/>
<ResourceParams name="jdbc/bbdd_proyecto">
<parameter><name>factory</name><value>org.apache.commons.dbcp.BasicDataSourceFactory</value></parameter>
<parameter><name>removeAbandoned</name><value>true</value></parameter>
<parameter><name>removeAbandonedTimeout</name><value>180</value></parameter>
<parameter><name>maxWait</name><value>10000</value></parameter>
<parameter><name>maxActive</name><value>100</value></parameter>
<parameter><name>username</name><value>nombre_del_usuario</value></parameter>
<parameter><name>password</name><value>psw_del_usuario</value></parameter>
<parameter><name>url</name><value>jdbc:mysql://localhost:3306/bbdd_proyecto?autoReconnect=true</value></parameter>
<parameter> <name>driverClassName</name><value>org.gjt.mm.mysql.Driver</value></parameter>
<parameter><name>maxIdle</name><value>2</value></parameter>
</ResourceParams>
</Context>
Recuerda que necesitas tener el conector JDBC y el driver para MySQL dentro del TOMCAT/common/lib
estos ficheros son el jdbc2_0-stdext.jar y el mm.mysql-2.0.4-bin.jar.
Arrancas el TOMCAT y en un navegador pones algo asi:
http://localhost:8080/proyecto/index.jsp
y deberia verse ....
Cualquier duda, enviame un mail
Salu2
Eu
Ufff... que largo quedo esto ... !
