In the Java Servlet API, the only way to get the ServletContext
is through an instance of HttpSession
(Javadoc).
What if I don't want to create a session and only need the servlet context? In other words, why is there no getServletContext()
method in the HttpServletRequest
class?
EDIT
I know I can get the ServletContext
from the servlet itself, since it receives it during its initialization. However, I cannot get it from a HttpServletRequest
alone, even though it's linked to a servlet. So what if I have a request, but no reference to any servlet?
getServletContext()
is part of GenericServlet
which is the parent class for HttpServlet
so you should be able to call it in your servlet implementation.
Edit:
HttpServletRequest
inherits getServletContext()
from ServletRequest
since servlet 3.0, so it looks like you will have to pass a context along with the request and response objects if you have to use a version prior to 3.0.
It's just that every entity working with requests (servers, filters, pages) has its own getServletContext
(or init()
)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With