Thank you Mark for replying.
> The URL pattern therefore needs to be "/*" Could not do anything with the above statement. May be an example could suffice. Somehow could see an example for PreResources in the internet and this is how I did it without an TestApp#web.xml file in the Catalina/localhost folder. <Context antiJARLocking="true" path="/TestApp"> <Resources className="org.apache.catalina.webresources.StandardRoot"> <PreResources className="org.apache.catalina.webresources.DirResourceSet" base="C:\\dir" internalPath="/" webAppMount="/web" /> </Resources> </Context> This works fine with filters. Regards, Pradyut > Subject: Re: servlet filter not working over virtual directories in tomcat > To: users@tomcat.apache.org > From: ma...@apache.org > Date: Fri, 23 Oct 2015 08:15:09 +0100 > > On 23/10/2015 03:39, Pradyut Bhattacharya wrote: > > Hi, > > I had configured virtual directories in glassfish3.x over which I could > > write filters. > > For an example I could access files at c:/web from > > http://localhost/TestApp/web over which I could also place a filter at my > > web app's web/xml file with > > <filter-mapping> > > <filter-name>dir_filter</filter-name> > > <url-pattern>/web/*</url-pattern> > > </filter-mapping>Unfortunately Tomcat 8.0 is not allowing me to write a > > filter above that. It simply ignores the filters and shows the content in > > the web directory. > > The problem is anybody can access all of the files in the "web" folder. > > Any how can we place filter over the virtual directories. > > FYI - i have made the web app named "TestApp" and the virtual config is > > located at "$tomcat_dir/conf/Catalina/localhost" directory with the file > > name "TestApp#web.xml" file and having the content<?xml version='1.0' > > encoding='utf-8'?> > > <Context docBase="C:/web" debug="0" privileged="true"></Context> > > The question is also at stackoverflow - > > http://stackoverflow.com/questions/33290483/servlet-filter-not-working-over-virtual-directories-in-tomcat > > Tomcat bugzilla - https://bz.apache.org/bugzilla/show_bug.cgi?id=58523 > > Tomcat is doing exactly what you have configured it to do. There is no > Tomcat bug here, just user error. > > With a context.xml file named TestApp#web.xml you have a defined a new > web application with a context path of "/TestApp/web" and a docBase of > "C:\web" > > The URL pattern therefore needs to be "/*" > > If you want to mount "C:\web" inside an existing web application using > the path "/web" then you need to define a PreResources or PostResources > element using the org.apache.catalina.webresources.DirResourceSet > implementation. See > http://tomcat.apache.org/tomcat-8.0-doc/config/resources.html for more > details. > > Mark > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org > For additional commands, e-mail: users-h...@tomcat.apache.org >