Hi. I posted this to the tomcat user group, with no joy. I am beginning to suspect this is a bug - is it "intended behaviour" that if jsp's are pre-compiled you cannot use them as a welcome page? Seems very strange to me if it is! Thanks, Dave ---------------------- Forwarded by David Hay/Lex/Lexmark on 08/24/2001 04:13 PM --------------------------- David Hay 08/21/2001 03:00 PM To: [EMAIL PROTECTED] cc: Subject: welcome file in web.xml with pre-compiled jsp's? Hi everyone, I am pre-compiling my jsp's in my struts web app, and everything works fine, except specifying the welcome file in the web.xml. If I do not pre-compile everything, having index.jsp as the first page works great. However, when I pre-compile index.jsp it doesn't work. Putting an uncompiled index.jsp back in the root directory makes it work again. I guess it is because jsp is not in root directory, but figure I should still be able to do this... Does anyone know if there is something special I have to do, or if there is anywhere else I can specify the first page as a servlet? btw, please copy me into any reply! Thanks, Dave Web.xml: <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd"> <!-- web.xml for use with PRE-COMPILED JSP's --> <web-app> <!-- The Welcome File List --> <welcome-file-list> <!-- call index.jsp as first page --> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <!-- Action Servlet Configuration --> <servlet> <servlet-name>action</servlet-name> <!-- central Action Servlet Controller to use --> <servlet-class>beans.AppController</servlet-class> <!-- Java class name of the application resources bundle base class --> <init-param> <param-name>application</param-name> <param-value>ApplicationResources</param-value> </init-param> <!-- Context-relative path to the XML resource containing our configuration information --> <init-param> <param-name>config</param-name> <param-value>/WEB-INF/struts-config.xml</param-value> </init-param> <!-- The debugging detail level for this servlet, which controls how much information is logged. [0] --> <init-param> <param-name>debug</param-name> <param-value>2</param-value> </init-param> <!-- The debugging detail level for the Digester we utilize in initMapping(), which logs to System.out instead of the servlet log. [0] --> <init-param> <param-name>detail</param-name> <param-value>2</param-value> </init-param> <load-on-startup>2</load-on-startup> </servlet> <!-- Catch any exceptions, and redirect to error page --> <error-page> <exception-type>java.lang.Exception</exception-type> <location>/error.jsp</location> </error-page> <servlet> <servlet-name> changeLogFileName </servlet-name> <servlet-class> JspServ.changeLogFileName </servlet-class> </servlet> <servlet> <servlet-name> chooseDevice </servlet-name> <servlet-class> JspServ.chooseDevice </servlet-class> </servlet> <servlet> <servlet-name> dataDir </servlet-name> <servlet-class> JspServ.dataDir </servlet-class> </servlet> <servlet> <servlet-name> dataDirFrame </servlet-name> <servlet-class> JspServ.dataDirFrame </servlet-class> </servlet> <servlet> <servlet-name> error </servlet-name> <servlet-class> JspServ.error </servlet-class> </servlet> <servlet> <servlet-name> index </servlet-name> <servlet-class> JspServ.index </servlet-class> </servlet> <servlet> <servlet-name> indexBar </servlet-name> <servlet-class> JspServ.indexBar </servlet-class> </servlet> <servlet> <servlet-name> log </servlet-name> <servlet-class> JspServ.log </servlet-class> </servlet> <servlet> <servlet-name> logFilter </servlet-name> <servlet-class> JspServ.logFilter </servlet-class> </servlet> <servlet> <servlet-name> logFrame </servlet-name> <servlet-class> JspServ.logFrame </servlet-class> </servlet> <servlet> <servlet-name> logging </servlet-name> <servlet-class> JspServ.logging </servlet-class> </servlet> <servlet> <servlet-name> loggingFrame </servlet-name> <servlet-class> JspServ.loggingFrame </servlet-class> </servlet> <servlet> <servlet-name> loggingSaveCancel </servlet-name> <servlet-class> JspServ.loggingSaveCancel </servlet-class> </servlet> <servlet> <servlet-name> login </servlet-name> <servlet-class> JspServ.login </servlet-class> </servlet> <servlet> <servlet-name> messages </servlet-name> <servlet-class> JspServ.messages </servlet-class> </servlet> <servlet> <servlet-name> parameters </servlet-name> <servlet-class> JspServ.parameters </servlet-class> </servlet> <servlet> <servlet-name> parametersFrame </servlet-name> <servlet-class> JspServ.parametersFrame </servlet-class> </servlet> <servlet> <servlet-name> parametersSaveCancel </servlet-name> <servlet-class> JspServ.parametersSaveCancel </servlet-class> </servlet> <servlet> <servlet-name> serialNosFrame </servlet-name> <servlet-class> JspServ.serialNosFrame </servlet-class> </servlet> <servlet> <servlet-name> serialNos </servlet-name> <servlet-class> JspServ.serialNos </servlet-class> </servlet> <servlet> <servlet-name> snapshot </servlet-name> <servlet-class> JspServ.snapshot </servlet-class> </servlet> <servlet> <servlet-name> snapshotFilter </servlet-name> <servlet-class> JspServ.snapshotFilter </servlet-class> </servlet> <servlet> <servlet-name> snapshotFrame </servlet-name> <servlet-class> JspServ.snapshotFrame </servlet-class> </servlet> <servlet> <servlet-name> telnet </servlet-name> <servlet-class> JspServ.telnet </servlet-class> </servlet> <servlet> <servlet-name> telnetFrame </servlet-name> <servlet-class> JspServ.telnetFrame </servlet-class> </servlet> <servlet> <servlet-name> telnetInstr </servlet-name> <servlet-class> JspServ.telnetInstr </servlet-class> </servlet> <servlet> <servlet-name> trace </servlet-name> <servlet-class> JspServ.trace </servlet-class> </servlet> <servlet> <servlet-name> traceFrame </servlet-name> <servlet-class> JspServ.traceFrame </servlet-class> </servlet> <servlet> <servlet-name> traceSaveCancel </servlet-name> <servlet-class> JspServ.traceSaveCancel </servlet-class> </servlet> <!-- Action Servlet Mapping --> <servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name> changeLogFileName </servlet-name> <url-pattern> /changeLogFileName.jsp </url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name> chooseDevice </servlet-name> <url-pattern> /chooseDevice.jsp </url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name> dataDir </servlet-name> <url-pattern> /dataDir.jsp </url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name> dataDirFrame </servlet-name> <url-pattern> /dataDirFrame.jsp </url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name> error </servlet-name> <url-pattern> /error.jsp </url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name> index </servlet-name> <url-pattern> /index.jsp </url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name> indexBar </servlet-name> <url-pattern> /indexBar.jsp </url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name> log </servlet-name> <url-pattern> /log.jsp </url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name> logFilter </servlet-name> <url-pattern> /logFilter.jsp </url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name> logFrame </servlet-name> <url-pattern> /logFrame.jsp </url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name> logging </servlet-name> <url-pattern> /logging.jsp </url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name> loggingFrame </servlet-name> <url-pattern> /loggingFrame.jsp </url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name> loggingSaveCancel </servlet-name> <url-pattern> /loggingSaveCancel.jsp </url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name> login </servlet-name> <url-pattern> /login.jsp </url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name> messages </servlet-name> <url-pattern> /messages.jsp </url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name> parameters </servlet-name> <url-pattern> /parameters.jsp </url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name> parametersFrame </servlet-name> <url-pattern> /parametersFrame.jsp </url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name> parametersSaveCancel </servlet-name> <url-pattern> /parametersSaveCancel.jsp </url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name> serialNosFrame </servlet-name> <url-pattern> /serialNosFrame.jsp </url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name> serialNos </servlet-name> <url-pattern> /serialNos.jsp </url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name> snapshot </servlet-name> <url-pattern> /snapshot.jsp </url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name> snapshotFilter </servlet-name> <url-pattern> /snapshotFilter.jsp </url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name> snapshotFrame </servlet-name> <url-pattern> /snapshotFrame.jsp </url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name> telnet </servlet-name> <url-pattern> /telnet.jsp </url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name> telnetFrame </servlet-name> <url-pattern> /telnetFrame.jsp </url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name> telnetInstr </servlet-name> <url-pattern> /telnetInstr.jsp </url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name> trace </servlet-name> <url-pattern> /trace.jsp </url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name> traceFrame </servlet-name> <url-pattern> /traceFrame.jsp </url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name> traceSaveCancel </servlet-name> <url-pattern> /traceSaveCancel.jsp </url-pattern> </servlet-mapping> <!-- Struts Tag Library Descriptor --> <taglib> <taglib-uri> /WEB-INF/struts-bean.tld </taglib-uri> <taglib-location> /WEB-INF/struts-bean.tld </taglib-location> </taglib> <taglib> <taglib-uri> /WEB-INF/struts-html.tld </taglib-uri> <taglib-location> /WEB-INF/struts-html.tld </taglib-location> </taglib> <taglib> <taglib-uri> /WEB-INF/struts-logic.tld </taglib-uri> <taglib-location> /WEB-INF/struts-logic.tld </taglib-location> </taglib> <taglib> <taglib-uri> /WEB-INF/struts-template.tld </taglib-uri> <taglib-location> /WEB-INF/struts-template.tld </taglib-location> </taglib> <taglib> <taglib-uri> /WEB-INF/app.tld </taglib-uri> <taglib-location> /WEB-INF/app.tld </taglib-location> </taglib> </web-app>