req.getsession().getservletcontext()和getservletcontext()之间的区别

Nav*_*Nav 6 java servlets

我已经看到你也可以直接调用getservletcontext(),也喜欢这个req.getsession().getservletcontext().

两者之间有什么区别,我应该使用哪一个?有没有基于我应该使用一个而不是另一个的场景?

顺便说一句,我使用的是web模块2.5

Vik*_*dor 9

两者有什么区别

两者之间没有区别,它们是同一个.

getServletContext()只有在代码位于扩展的类中时,才能直接调用此方法HttpServlet.这是因为HttpServlet基类定义了这个方法(实际上是在扩展的GenericServlet类中HttpServlet).

ServletContext通过req.getSession()返回.getServletContext()方法is same as the one returned above.的HttpSession contains a reference to theServletContext`这个会话属于.

我应该使用哪一个?有没有基于我应该使用一个而不是另一个的场景?

只要你的代码在servlet类中,就可以使用任何东西,因为两者都可以被调用.

假设(假设)您从servlet调用自定义类中的方法,并将会话对象传递给它以处理会话中的某些数据.此自定义类不扩展servlet.您需要ServletContext在此自定义类中引用该引用.由于您具有对会话的引用,因此可以使用该方法访问ServletContext session.getServletContext().

希望这很清楚.