I'm using plain-vanilla Jetty 8 in our application. When a request comes
in, I need to check the headers, and then serve resources out of a
particular subdirectory depending on header contents. I also need to
check an external location to look for updated files.
These requirements suggest I should override DefaultServlet's
getResource() method and return a custom Resource object. This is fine,
but getResource(String path) only passes in a path as an argument, and
not the entire Request object, so I can't get the headers within the
getResource() method.
getResource() is called in only one location, in the
DefaultServlet.doGet() method. I tried to override that, but it refers
to a lot of private variables, so I get compile errors.
I considered putting the Request into a ThreadLocal variable, but the
potential problems with classloading leaks describe here spooked me
(second answer, Phil M):
http://stackoverflow.com/questions/817856/when-and-how-should-i-use-a-threadlocal-variable
I've also considered using RequestDispatcher, but can't quite get that
to work.
Any suggestions on how to attack this problem welcome. My best
alternative right now is to make a complete copy of DefaultServlet and
modify as needed.
_______________________________________________
jetty-users mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/jetty-users