Hello,
I upgraded to Apache Tomcat/4.0-b7, but am still having the same error:
ERROR reading java.io.FileInputStream@2d263f
At Line 25 /web-app/servlet/
I spent some time debugging it and I think it's because catalina does
not find the JspServlet class. For some reason, I don't see
jasper-compiler.jar in the jar files that are being loaded by catalina's
classloaders:
Bootstrap: Creating COMMON class loader
Bootstrap: Adding
file:/export/home/cyril/p4/apache/tomcat/4.0b7/common/lib/servlet.jar
Bootstrap: Adding
file:/export/home/cyril/p4/apache/tomcat/4.0b7/common/lib/naming.jar
Bootstrap: Adding
file:/export/home/cyril/p4/apache/tomcat/4.0b7/common/lib/resources.jar
Bootstrap: Creating CATALINA class loader
Bootstrap: Adding
file:/export/home/cyril/p4/apache/tomcat/4.0b7/server/lib/jakarta-regexp-1.2.jar
Bootstrap: Adding
file:/export/home/cyril/p4/apache/tomcat/4.0b7/server/lib/crimson.jar
Bootstrap: Adding
file:/export/home/cyril/p4/apache/tomcat/4.0b7/server/lib/catalina.jar
Bootstrap: Adding
file:/export/home/cyril/p4/apache/tomcat/4.0b7/server/lib/warp.jar
Bootstrap: Adding
file:/export/home/cyril/p4/apache/tomcat/4.0b7/server/lib/jaxp.jar
Bootstrap: Creating SHARED class loader
Bootstrap: Adding
file:/export/home/cyril/p4/apache/tomcat/4.0b7/lib/namingfactory.jar
Bootstrap: Adding
file:/export/home/cyril/p4/apache/tomcat/4.0b7/lib/jasper-runtime.jar
I tried to put jasper-compiler.jar in my classpath, but catalina ignores
it...
I must be missing something, why isn't Tomcat able to load the
JspServlet?
Any help would be appreciated. :)
Thanks,
--------------------------------------------------------------
Cyril Bouteille wrote:
>
> Hi,
>
> I installed Tomcat/4.0-b6 and tried to set it up in our environment, but
> I get a startup error:
>
> Starting Tomcat with -server -ms128m -mx512m
>
>-Djava.util.logging.config.file=/export/home/cyril/p4/phoenix/main/deploy/dev/logging.properties
> -cp
>
>/export/home/cyril/p4/java/sunos-sparc/1.4b/lib/tools.jar:/export/home/cyril/p4/apache/tomcat/4.0b6/bin/bootstrap.jar
> -Dcatalina.home=/export/home/cyril/p4/apache/tomcat/4.0b6
> -Dhotwire.props=/export/home/cyril/p4/phoenix/main/deploy/dev/hotwire.view.props
> -f /export/home/cyril/p4/phoenix/main/deploy/dev/tomcat/conf/server.xml
> Starting service Tomcat-Standalone
> Apache Tomcat/4.0-b6
> ERROR reading java.io.FileInputStream@fa6f
> At Line 25 /web-app/servlet/
>
> I believe this error refers to the first <servlet> node in my web.xml,
> but I don't find anything wrong with it and am not sure what this error
> message means.
>
> Any idea what is configured wrong?
> I attach to this message my web.xml and server.xml file.
>
> Thanks,
>
> ------------------------------------------------------------------------
> <?xml version="1.0" encoding="ISO-8859-1"?>
>
> <!DOCTYPE web-app
> PUBLIC
> "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
> "http://java.sun.com/dtd/web-app_2_3.dtd">
>
> <web-app>
>
> <!-- Mappings in this file are the defaults for all Contexts -->
>
> <!-- The default servlet that serves static resources -->
> <servlet>
> <servlet-name>default</servlet-name>
> <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
> <init-param>
> <param-name>debug</param-name>
> <param-value>0</param-value>
> </init-param>
> <init-param>
> <param-name>listings</param-name>
> <param-value>true</param-value>
> </init-param>
> <load-on-startup>1</load-on-startup>
> </servlet>
>
> <!-- The invoker servlet that executes non-registered servlets -->
> <servlet>
> <servlet-name>invoker</servlet-name>
> <servlet-class>org.apache.catalina.servlets.InvokerServlet</servlet-class>
> <init-param>
> <param-name>debug</param-name>
> <param-value>0</param-value>
> </init-param>
> <load-on-startup>2</load-on-startup>
> </servlet>
>
> <!-- The JSP page compiler and execution servlet -->
> <servlet>
> <servlet-name>jsp</servlet-name>
> <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
> <init-param>
> <!-- An alternate java encoding -->
> <param-name>javaEncoding</param-name>
> <param-value>UTF-8</param-value>
> </init-param>
> <init-param>
> <!-- Levels: FATAL ERROR WARNING INFORMATION DEBUG -->
> <param-name>logVerbosityLevel</param-name>
> <param-value>WARNING</param-value>
> </init-param>
> <load-on-startup>4</load-on-startup>
> </servlet>
>
> <servlet>
> <servlet-name>system</servlet-name>
> <servlet-class>hotwire.view.web.servlet.SystemServlet</servlet-class>
> <load-on-startup>1</load-on-startup>
> </servlet>
>
> <servlet>
> <servlet-name>controller</servlet-name>
> <servlet-class>hotwire.view.web.servlet.ControllerServlet</servlet-class>
> <load-on-startup>2</load-on-startup>
> </servlet>
>
> <!-- The mappings for the servlets -->
>
> <servlet-mapping>
> <servlet-name>default</servlet-name>
> <url-pattern>/</url-pattern>
> </servlet-mapping>
> <servlet-mapping>
> <servlet-name>jsp</servlet-name>
> <url-pattern>/jsp/*</url-pattern>
> </servlet-mapping>
> <servlet-mapping>
> <servlet-name>system</servlet-name>
> <url-pattern>/system</url-pattern>
> </servlet-mapping>
> <servlet-mapping>
> <servlet-name>controller</servlet-name>
> <url-pattern>*.jsp</url-pattern>
> </servlet-mapping>
>
> <!-- Set the default session timeout (in seconds) -->
> <session-config>
> <session-timeout>30</session-timeout>
> </session-config>
>
> <!-- Establish the default list of welcome files -->
> <welcome-file-list>
> <welcome-file>index.html</welcome-file>
> <welcome-file>index.jsp</welcome-file>
> </welcome-file-list>
>
> <error-page>
> <error-code>404</error-code>
> <location>/jsp/error.jsp</location>
> </error-page>
>
> <taglib>
> <taglib-uri>http://www.hotwire.com/taglib-1.0</taglib-uri>
> <taglib-location>/WEB-INF/hotwire.tld</taglib-location>
> </taglib>
>
> </web-app>
>
> ------------------------------------------------------------------------
> <!-- Example Server Configuration File -->
> <!-- Note that component elements are nested corresponding to their
> parent-child relationships with each other -->
>
> <!-- A "Server" is a singleton element that represents the entire JVM,
> which may contain one or more "Service" instances. The Server
> listens for a shutdown command on the indicated port.
>
> Note: A "Server" is not itself a "Container", so you may not
> define subcomponents such as "Valves" or "Loggers" at this level.
> -->
>
> <Server port="8005" shutdown="SHUTDOWN" debug="0">
>
> <!-- A "Service" is a collection of one or more "Connectors" that share
> a single "Container" (and therefore the web applications visible
> within that Container). Normally, that Container is an "Engine",
> but this is not required.
>
> Note: A "Service" is not itself a "Container", so you may not
> define subcomponents such as "Valves" or "Loggers" at this level.
> -->
>
> <!-- Define the Tomcat Stand-Alone Service -->
> <Service name="Tomcat-Standalone">
>
> <!-- A "Connector" represents an endpoint by which requests are received
> and responses are returned. Each Connector passes requests on to the
> associated "Container" (normally an Engine) for processing.
>
> By default, a non-SSL HTTP/1.1 Connector is established on port 8080.
> You can also enable an SSL HTTP/1.1 Connector on port 8443 by
> following the instructions below and uncommenting the second Connector
> entry. SSL support requires the following steps:
> * Download and install JSSE 1.0.2 or later, and put the JAR files
> into "$JAVA_HOME/jre/lib/ext".
> * Edit "$JAVA_HOME/jre/lib/security/java.security" and add
> security.provider.2=com.sun.net.ssl.internal.ssl.Provider
> * Execute: keytool -genkey -alias tomcat -keyalg RSA
> with a password value of "changeit".
>
> By default, DNS lookups are enabled when a web application calls
> request.getRemoteHost(). This can have an adverse impact on
> performance, so you can disable it by setting the
> "enableLookups" attribute to "false". When DNS lookups are disabled,
> request.getRemoteHost() will return the String version of the
> IP address of the remote client.
> -->
>
> <!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
> <Connector className="org.apache.catalina.connector.http.HttpConnector"
> port="8080" minProcessors="5" maxProcessors="75"
> enableLookups="true" redirectPort="8443"
> acceptCount="10" debug="0" connectionTimeout="60000"/>
> <!-- Note : To disable connection timeouts, set connectionTimeout value
> to -1 -->
>
> <!-- Define an SSL HTTP/1.1 Connector on port 8443 -->
> <!--
> <Connector className="org.apache.catalina.connector.http.HttpConnector"
> port="8443" minProcessors="5" maxProcessors="75"
> enableLookups="true"
> acceptCount="10" debug="0" scheme="https" secure="true">
> <Factory className="org.apache.catalina.net.SSLServerSocketFactory"
> clientAuth="false" protocol="TLS"/>
> </Connector>
> -->
>
> <!-- An Engine represents the entry point (within Catalina) that processes
> every request. The Engine implementation for Tomcat stand alone
> analyzes the HTTP headers included with the request, and passes them
> on to the appropriate Host (virtual host). -->
>
> <!-- Define the top level container in our container hierarchy -->
> <Engine name="Standalone" defaultHost="localhost" debug="0">
>
> <!-- The request dumper valve dumps useful debugging information about
> the request headers and cookies that were received, and the response
> headers and cookies that were sent, for all requests received by
> this instance of Tomcat. If you care only about requests to a
> particular virtual host, or a particular application, nest this
> element inside the corresponding <Host> or <Context> entry instead.
>
> For a similar mechanism that is portable to all Servlet 2.3
> containers, check out the "RequestDumperFilter" Filter in the
> example application (the source for this filter may be found in
> "$CATALINA_HOME/webapps/examples/WEB-INF/classes/filters").
>
> Request dumping is disabled by default. Uncomment the following
> element to enable it. -->
> <!--
> <Valve className="org.apache.catalina.valves.RequestDumperValve"/>
> -->
>
> <!-- Global logger unless overridden at lower levels -->
> <Logger className="org.apache.catalina.logger.FileLogger"
> prefix="catalina_log." suffix=".txt"
> timestamp="true"/>
>
> <!-- Because this Realm is here, an instance will be shared globally -->
>
> <Realm className="org.apache.catalina.realm.MemoryRealm" />
>
> <!-- Replace the above Realm with one of the following to get a Realm
> stored in a database and accessed via JDBC -->
>
> <!--
> <Realm className="org.apache.catalina.realm.JDBCRealm"
> debug="99"
> driverName="oracle.jdbc.driver.OracleDriver"
>
>connectionURL="jdbc:oracle:thin:@ntserver:1521:ORCL?user=scott;password=tiger"
> userTable="users"
> userNameCol="user_name"
> userCredCol="user_pass"
> userRoleTable="user_roles"
> roleNameCol="role_name" />
> -->
>
> <!-- Define the default virtual host -->
> <Host name="localhost"
> debug="0"
> appBase="/export/home/cyril/p4/phoenix/main/app/webapp"
> unpackWARs="true">
>
> <!-- Normally, users must authenticate themselves to each web app
> individually. Uncomment the following entry if you would like
> a user to be authenticated the first time they encounter a
> resource protected by a security constraint, and then have that
> user identity maintained across *all* web applications contained
> in this virtual host. -->
> <!--
> <Valve className="org.apache.catalina.authenticator.SingleSignOn"
> debug="0"/>
> -->
>
> <!-- Access log processes all requests for this virtual host. By
> default, log files are created in the "logs" directory relative to
> $CATALINA_HOME. If you wish, you can specify a different
> directory with the "directory" attribute. Specify either a relative
> (to $CATALINA_HOME) or absolute path to the desired directory.
> -->
> <Valve className="org.apache.catalina.valves.AccessLogValve"
> directory="/export/home/cyril/p4/phoenix/main/deploy/dev/tomcat/logs"
> prefix="localhost_access_log."
> suffix=".txt"
> pattern="common"/>
>
> <!-- Logger shared by all Contexts related to this virtual host. By
> default (when using FileLogger), log files are created in the "logs"
> directory relative to $CATALINA_HOME. If you wish, you can specify
> a different directory with the "directory" attribute. Specify either a
> relative (to $CATALINA_HOME) or absolute path to the desired
> directory.-->
> <Logger className="org.apache.catalina.logger.FileLogger"
> directory="/export/home/cyril/p4/phoenix/main/deploy/dev/tomcat/logs"
> prefix="localhost_log."
> suffix=".txt"
> timestamp="true"/>
>
> <!-- Phoenix Context -->
> <Context path="/"
> docBase="."
> debug="0"
> reloadable="true">
> <Logger className="org.apache.catalina.logger.FileLogger"
>
>prefix="/export/home/cyril/p4/phoenix/main/deploy/dev/tomcat/localhost_phoenix_log."
> suffix=".txt"
> timestamp="true"/>
>
> <!-- PersistentManager: Uncomment the section below to test Persistent
> Sessions.
>
> saveOnRestart: If true, all active sessions will be saved
> to the Store when Catalina is shutdown, regardless of
> other settings. All Sessions found in the Store will be
> loaded on startup. Sessions past their expiration are
> ignored in both cases.
> maxActiveSessions: If 0 or greater, having too many active
> sessions will result in some being swapped out. minIdleSwap
> limits this. -1 means unlimited sessions are allowed.
> 0 means sessions will almost always be swapped out after
> use - this will be noticeably slow for your users.
> minIdleSwap: Sessions must be idle for at least this long
> (in seconds) before they will be swapped out due to
> maxActiveSessions. This avoids thrashing when the site is
> highly active. -1 or 0 means there is no minimum - sessions
> can be swapped out at any time.
> maxIdleSwap: Sessions will be swapped out if idle for this
> long (in seconds). If minIdleSwap is higher, then it will
> override this. This isn't exact: it is checked periodically.
> -1 means sessions won't be swapped out for this reason,
> although they may be swapped out for maxActiveSessions.
> If set to >= 0, guarantees that all sessions found in the
> Store will be loaded on startup.
> maxIdleBackup: Sessions will be backed up (saved to the Store,
> but left in active memory) if idle for this long (in seconds),
> and all sessions found in the Store will be loaded on startup.
> If set to -1 sessions will not be backed up, 0 means they
> should be backed up shortly after being used.
>
> To clear sessions from the Store, set maxActiveSessions, maxIdleSwap,
> and minIdleBackup all to -1, saveOnRestart to false, then restart
> Catalina.
> -->
> <!--
> <Manager className="org.apache.catalina.session.PersistentManager"
> debug="0"
> saveOnRestart="true"
> maxActiveSessions="-1"
> minIdleSwap="-1"
> maxIdleSwap="-1"
> maxIdleBackup="-1">
> <Store className="org.apache.catalina.session.FileStore"/>
> </Manager>
> -->
> </Context>
>
> </Host>
>
> </Engine>
>
> </Service>
>
> </Server>
begin:vcard
n:Bouteille;Cyril
x-mozilla-html:FALSE
url:http://www.hotwire.com
org:<a href=http://www.hotwire.com><img border=0 src=http://www.hotwire.com/assets/logo_white.gif></a>
version:2.1
email;internet:[EMAIL PROTECTED]
title:Java Software Architect
adr;quoted-printable:;;333 Market St=0D=0ASuite #100;San Francisco;California;94105;USA
note;quoted-printable:Take the Hotwire Travel Challenge!<br>=0D=0ACheck a Hotwire Hot-Fare at <a href=3D"http://www.hotwire.com">www.hotwire.com</a>
x-mozilla-cpt:;-6088
fn:Cyril Bouteille
end:vcard
S/MIME Cryptographic Signature