I have a development machine that everything works find on, and I'm trying to deploy to a production machine, and for some reason it's not finding my filter. The fact that it *knows* about the filter indicates (well, at least, I think it indicates) that it found the web app and associated directories. The public URL is http://www.infoisland.net, which points to /var/www/infoisland in the file system. On the apache side, here's the apache host entry: Code: NameVirtualHost *:80 NameVirtualHost *:443 <VirtualHost *:80> ServerName www.infoisland.net DocumentRoot /var/www/infoisland <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/infoisland> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all # Uncomment this directive is you want to see apache2's # default start page (in /apache2-default) when you go to / #RedirectMatch ^/$ /apache2-default/ </Directory> ServerAdmin webmaster@localhost ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ErrorLog /var/log/apache2/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel debug CustomLog /var/log/apache2/access.log combined ServerSignature On Alias /doc/ "/usr/share/doc/" <Directory "/usr/share/doc/"> Options Indexes MultiViews FollowSymLinks AllowOverride None Order deny,allow Deny from all Allow from 127.0.0.0/255.0.0.0 ::1/128 </Directory> Alias /forums "/var/www/pubhtm/forums" <Directory "/var/www/pubhtm/forums"> Options Indexes MultiViews FollowSymLinks AllowOverride None Allow from all </Directory> </VirtualHost> <VirtualHost *:80> ServerName www.mywinterpark.org DocumentRoot /var/www/mywinterpark <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/mywinterpark> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all # Uncomment this directive is you want to see apache2's # default start page (in /apache2-default) when you go to / #RedirectMatch ^/$ /apache2-default/ </Directory> ErrorLog /var/log/apache2/error.log LogLevel debug CustomLog /var/log/apache2/access.log combined ServerSignature On Alias /forums "/var/www/pubhtm/forums" <Directory "/var/www/pubhtm/forums"> Options Indexes MultiViews FollowSymLinks AllowOverride None Allow from all </Directory> </VirtualHost> <VirtualHost *:443> SSLEngine on SSLCertificateFile ssl/infoisland.crt SSLCertificateKeyFile ssl/infoisland.key DocumentRoot /var/www/infoisland </VirtualHost> (I had to remove the mod_jk configuration because my post was too long. Let me know if you need it) On the tomcat side, here's the server.xml section: Code: <Host name="www.infoisland.net" appBase="/var/www" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <Context path="/infoisland" debug="255" docBase="infoisland" crossContext="true" reloadable="true"> <Manager className="org.apache.catalina.session.PersistentManager" debug="255" saveOnRestart="false"> </Manager> <Resource name="jdbc/infoisland" auth="Container" type="javax.sql.DataSource" maxActive="20" maxIdle="5" maxWait="10000" username="anw" password="anw111" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/smsinfo?autoReconnect=true"/> </Context> </Host> And, on the app side, here's the web.xml entry for the filter: Code: <!-- Filters Here --> <filter> <filter-name>CheckUser</filter-name> <filter-class>infoIsland.CheckUser</filter-class> <init-param> <param-name>loginPage</param-name> <param-value>/login.jsp</param-value> </init-param> </filter> <filter-mapping> <filter-name>CheckUser</filter-name> <url-pattern>/members/*</url-pattern> </filter-mapping> and here's the directory listing of the WEB-INF/classes directory (directly under the /var/www/infoisland directory): Code: total 24 drwxr-xr-- 6 anw anw 4096 2007-02-03 13:54 ./ drwxr-xr-x 4 anw anw 4096 2007-02-02 22:10 ../ drwxr-xr-x 2 root root 4096 2007-02-02 18:10 dbMgr/ drwxr-xr-x 2 anw anw 4096 2007-02-02 18:10 infoIsland/ drwxr-xr-x 2 root root 4096 2007-02-02 18:10 utils/ and here is the WEB-INF/classes/infoisland listing, showing the CheckUser class: Code: total 96 drwxr-xr-x 2 anw anw 4096 2007-02-02 18:10 ./ drwxr-xr-- 6 anw anw 4096 2007-02-03 13:54 ../ [BOLD]-rwxr-xr-x 1 anw anw 3899 2007-02-02 18:10 CheckUser.class*[/BOLD] -rwxr-xr-x 1 anw anw 4977 2007-02-02 18:10 Client.class* -rwxr-xr-x 1 anw anw 2624 2007-02-02 18:10 login.class* -rwxr-xr-x 1 anw anw 2830 2007-02-02 18:10 NewTribe.class* -rwxr-xr-x 1 anw anw 610 2007-02-02 18:10 ReqMgr$1.class* -rwxr-xr-x 1 anw anw 8273 2007-02-02 18:10 ReqMgr.class* -rwxr-xr-x 1 anw anw 1653 2007-02-02 18:10 reqstatus.class* -rwxr-xr-x 1 anw anw 6867 2007-02-02 18:10 ReqTag.class* -rwxr-xr-x 1 anw anw 1944 2007-02-02 18:10 reqtype.class* -rwxr-xr-x 1 anw anw 3682 2007-02-02 18:10 request.class* -rwxr-xr-x 1 anw anw 1605 2007-02-02 18:10 subscription.class* -rwxr-xr-x 1 anw anw 1307 2007-02-02 18:10 subtopic.class* -rwxr-xr-x 1 anw anw 4689 2007-02-02 18:10 tribe.class* -rwxr-xr-x 1 anw anw 3501 2007-02-02 18:10 TribeMgr.class* -rwxr-xr-x 1 anw anw 5985 2007-02-02 18:10 user.class* -rwxr-xr-x 1 anw anw 3023 2007-02-02 18:10 UserMenu.class* And, lastly, here is the output of tomcat, throwing an exception because it can't find CheckUser: Code: Feb 3, 2007 2:39:37 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent INFO: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/lib/jdk1.6.0/jre/lib/i386/server:/usr/lib/jdk1.6.0/jre/lib/i386:/usr/lib/jdk1.6.0/jre/../lib/i386:/usr/java/packages/lib/i386:/lib:/usr/lib Feb 3, 2007 2:39:37 PM org.apache.coyote.http11.Http11BaseProtocol init INFO: Initializing Coyote HTTP/1.1 on http-8080 Feb 3, 2007 2:39:37 PM org.apache.catalina.startup.Catalina load INFO: Initialization processed in 2332 ms Feb 3, 2007 2:39:38 PM org.apache.catalina.core.StandardService start INFO: Starting service Catalina Feb 3, 2007 2:39:38 PM org.apache.catalina.core.StandardEngine start INFO: Starting Servlet Engine: Apache Tomcat/5.5 Feb 3, 2007 2:39:38 PM org.apache.catalina.core.StandardHost start INFO: XML validation disabled Feb 3, 2007 2:39:39 PM org.apache.catalina.session.PersistentManagerBase start SEVERE: No Store configured, persistence disabled Feb 3, 2007 2:39:39 PM org.apache.catalina.core.StandardContext filterStart SEVERE: Exception starting filter CheckUser java.lang.ClassNotFoundException: infoIsland.CheckUser at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1355) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1201) at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:209) at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:304) at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:77) at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3634) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4217) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013) at org.apache.catalina.core.StandardHost.start(StandardHost.java:718) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442) at org.apache.catalina.core.StandardService.start(StandardService.java:450) at org.apache.catalina.core.StandardServer.start(StandardServer.java:709) at org.apache.catalina.startup.Catalina.start(Catalina.java:551) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432) Feb 3, 2007 2:39:39 PM org.apache.catalina.core.StandardContext start SEVERE: Error filterStart Feb 3, 2007 2:39:39 PM org.apache.catalina.core.StandardContext start SEVERE: Context [/infoisland] startup failed due to previous errors I have also tried putting a infoisland.jar file in the WEB-INF/lib directory, with exactly the same results. TIA, Allen