Principiante

Rookie
24 de Marzo del 2004
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.

getparameter
24 de Marzo del 2004
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 ... !