为什么我需要一个HttpSession来获取ServletContext?

Lau*_*eyn 5 java servlets httpsession

在Java Servlet API中,获取的唯一方法ServletContext是通过HttpSession(Javadoc)的实例.

如果我不想创建会话并且只需要servlet上下文怎么办?换句话说,为什么课堂上没有getServletContext()方法HttpServletRequest

编辑

我知道我可以ServletContext从servlet本身获取,因为它在初始化期间接收它.但是,HttpServletRequest即使它与servlet相关联,我也无法从单独中获取它.那么如果我有一个请求,但没有引用任何servlet怎么办?

rsp*_*rsp 8

getServletContext()是其中一部分GenericServlet的父类,HttpServlet因此您应该能够在servlet实现中调用它.

编辑:

HttpServletRequest继承了getServletContext()ServletRequestservlet的3.0,所以看起来你将不得不与请求和响应对象一起传递一个方面,如果你必须使用一个版本早于3.0.