i'm facing a problem with jsp pages. Seems to have a broken work dir path and jasper doesn't prepare the jsp files to .java files for compilation.
symptom:
java.io.FileNotFoundException: /opt/tbone/server/tomcat/work/Catalina/localhost/tbone/org/apache/jsp/
topmenu_jsp.java
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(FileOutputStream.java:179)
at java.io.FileOutputStream.<init>(FileOutputStream.java:70)
at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:223)
This is the first jsp page of my webapp. servlets and html pages are working well.
What works:
same webapp in Tomcat 3.3 and in Tomcat 5.19 started with startup.sh
instead of jsvc. But I need the fork mechanism of jsvc for using port 80,443 as user. jsp-examples work fine but there are already precompiled jsp pages inside WEB-INF/classes/org/apache/jsp.
Any help would be appreciated.
Thanx, )ngo
Setup information stuff:
- attached my init.d startup script - server.xml snippet:
<Connector port="80"
maxThreads="50" minSpareThreads="2" maxSpareThreads="25"
enableLookups="false" redirectPort="8443" acceptCount="100"
debug="0" connectionTimeout="20000"
disableUploadTimeout="true" />
<Connector port="443"
maxThreads="50" minSpareThreads="2" maxSpareThreads="25"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" debug="0" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" keystoreFile="conf/ssl.key" keystorePass="any"/>
- global web.xml snippet for jsp part:
<servlet>
<servlet-name>jsp</servlet-name> <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
<init-param>
<param-name>development</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>fork</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>xpoweredBy</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>3</load-on-startup>
</servlet>
- deploy snippet from conf/Catalina/localhost/tbone.xml:
<Context path="/tbone" docBase="/opt/tbone/server/configserver"
debug="0" privileged="true" reloadable="true"> <Logger className="org.apache.catalina.logger.FileLogger"
prefix="configserver_log." suffix=".txt"
timestamp="true"/>
</Context>- the empty work dir:
sisyphos:/opt/tbone/server/tomcat # ll work/Catalina/localhost/tbone/ drwx------ 2 www tbone 4096 Apr 21 11:47 . drwx------ 6 www tbone 4096 Apr 21 11:44 .. -rw------- 1 www tbone 44 Apr 21 11:44 tldCache.ser
- system informations:
tried with SUN j2sdk1.4.2_04 and SUN j2re1.4.2_04 + tools.jar from j2sdk1.4.2_04
cat /etc/SuSE-release
SuSE Linux 8.0 (i386)
VERSION = 8.0
uname -a
Linux genesis-ika 2.4.18-4GB-SMP #1 SMP Wed Mar 27 13:56:04 UTC 2002 i686 unknown
#!/bin/bash # $Id: run-tomcat,v 1.2.4.2 2004/04/16 17:32:15 ika Exp $ # Copyright Ingo Kampe, bone labs GmbH, Berlin, 2004
## SETUP ##
source /opt/tbone/shared/bin/makeenv
TOMCAT_OPTS=-Xmx128m
#JAVA_OPTS=-Xmx128m -server
CATALINA_HOME=${TOMCAT_HOME}
CATALINA_TMPDIR=${TOMCAT_HOME}/temp
CATALINA_PID=/var/run/tomcat.pid
TOMCAT_LOG=${TBONE_LOG_DIR}/tomcat
CONFIGSERVER_LOG=${TBONE_LOG_DIR}/configserver
CLASSPATH=\
${SHARED_LIB_DIR}/tools.jar:\
${CATALINA_HOME}/bin/commons-daemon.jar:\
${CATALINA_HOME}/bin/bootstrap.jar
## SETUP finished ##
case "$1" in
start)
# create log dir structure
[ -d "${TOMCAT_LOG}" ] || setuidgid ${TBONE_USER} mkdir -p ${TOMCAT_LOG}
[ -d "${CONFIGSERVER_LOG}" ] || setuidgid ${TBONE_USER} mkdir -p
${CONFIGSERVER_LOG}
cd ${CATALINA_HOME}
# jsvc call for tomcat 5 (does not work correct!)
#-jvm server \
#${JSVC_BIN} \
./bin/jsvc \
-home ${JAVA_HOME} \
-cp ${CLASSPATH} \
-user ${WWW_USER} \
-Djava.endorsed.dirs=${TOMCAT_HOME}/common/endorsed \
-Dcatalina.home=$CATALINA_HOME \
-Djava.io.tmpdir=$CATALINA_TMPDIR \
-outfile ${TBONE_LOG_DIR}/tomcat/catalina.out \
-errfile '&1' \
-pidfile ${CATALINA_PID} \
${TOMCAT_OPTS} \
-verbose \
org.apache.catalina.startup.Bootstrap
# extension for jsvc BUG workaround
#${CATALINA_HOME}/bin/catalina.sh start && sleep 1
# extension end
;;
stop)
# extension for jsvc BUG workaround
#${CATALINA_HOME}/bin/catalina.sh stop && sleep 1
# extension end
PID=`cat ${CATALINA_PID} 2>/dev/null`
[ -n "$PID" ] && kill $PID && sleep 1
[ -f ${CATALINA_PID} ] && rm ${CATALINA_PID}
pkill -9 -u ${WWW_USER} jsvc
rm -rf ${CATALINA_HOME}/work/*
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage tomcat start/stop/restart"
exit 1;;
esac
signature.asc
Description: OpenPGP digital signature
