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: [email protected]
> From: [email protected]
> 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: [email protected]
> For additional commands, e-mail: [email protected]
>