- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试覆盖 init(ServletConfig config) 方法。我的代码是:
public void init(ServletConfig config) throws ServletException {
ServletContext sc = getServletContext(); // ----- NullPointerException
}
这是给出 NullPointerException 。
如果我将其修改为:
public void init(ServletConfig config) throws ServletException {
ServletContext sc = config.getServletContext(); // ----- works fine
}
这很好用。 我知道我们应该覆盖 init() 方法而不是 init(ServletConfig config) 但是
谁能告诉我为什么会这样?
最佳答案
比较init(ServletConfig)
的文档:
public void init(ServletConfig config)throws ServletExceptionCalled by the servlet container to indicate to a servlet that the servletis being placed into service.See Servlet#init. This implementation stores the ServletConfig objectit receives from the servlet container for later use. When overridingthis form of the method, call super.init(config).
And compare that with the documentation for init()
:
public void init() throws ServletExceptionA convenience method which can be overridden so that there's no need tocall super.init(config).Instead of overriding init(ServletConfig), simply override this methodand it will be called by GenericServlet.init(ServletConfig config). TheServletConfig object can still be retrieved via getServletConfig().
When overriding init(ServletConfig)
, the first thing that must be done is to call:
super.init(config);
如果您这样做,那么在您的方法中直接调用 getServletContext()
将不再导致 NPE。
关于Java Servlets 覆盖 init(ServletConfig 配置),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13638978/
ServletConfig 和 ServletContext 接口(interface)有什么区别? 最佳答案 ServletConfig 参数是为特定 servlet 指定的,其他 servlet
解读 Servlet 源码:GenericServlet,ServletConfig,ServletContext 每博一文案
这是一个关于嵌入 jetty 7 的例子: http://wiki.eclipse.org/Jetty/Tutorial/Embedding_Jetty public class OneServlet
尝试将初始化参数名称添加到 init(ServletConfig) 方法中的列表。 public void init(ServletConfig sc){ try { supe
我有一个使用插件架构的 Java 网络应用程序。我想知道是否有人有解决方案可以添加一个 servlet,并在 Web 应用程序运行时将 serlvet 映射到 servletconfig?这个想法是可
我有一个问题是: java.lang.Exception: ServletConfig has not been initialized 我搜索了将近 2 天,但没有找到适合我的解决方案。每个人都说过
有没有办法在应用于该 servlet 的 Filter 中获取 servlet 的 ServletConfig 对象? Edit-> 场景是我提到的角色名称(谁可以访问 servlet) 在 web.
显然以下正在生成一个循环(GenericServlet 类正在调用子类的init()) public void init() throws ServletException { ServletCo
我正在尝试覆盖 init(ServletConfig config) 方法。我的代码是: public void init(ServletConfig config) throws ServletE
嗨,我想知道当我们使用它们的serve().with()绑定(bind)路由时,Guice如何将隐式对象传递到Servlet中?我定义了一个自定义 Router servlet,它将创建 Servle
我知道,当 Servlet 容器实例化 Servlet 对象时,它还会创建相应的 ServletConfig 对象,其中存储该 servlet 的所有 init-params(我们稍后可以通过 ser
这个问题已经有答案了: How to configure programmatically without web.xml (2 个回答) 已关闭 5 年前。 如果我想修改 ServletConte
这个问题已经有答案了: I am trying to load or u can say register my sql jdbc driver with the use of ServletConf
我能够从其他方式加载我的 mysql jdbc 驱动程序,但是当我尝试使用 servletconfig 接口(interface)注册它时,它给出了异常 java.lang.ClassNotFound
我尝试运行以下几行。 ${initParam.tagline} ${pageContext.servletConfig.initParameter("adminco
我整天都在为此奋斗:我有 DynamicWebProject。它运作良好。但在某些时候,我决定清理项目中未使用的额外 jar 。清理后,我遇到了很多错误。所以我回滚了所有更改(我的意思是我重新调整了所
Servlet 规范规定容器将实例化我的 java.servlet.HttpServlet 的单个实例,并调用服务方法 (doGet()/ doPost()) 来自多个工作线程。 根据正常的线程规则,
尝试设置我的第一个 REST API(使用 Jersey 2 和 Gradle)并使用 swagger 添加一些文档。但是当添加 swagger 依赖项并遵循 this 时swagger 文档,“Us
我是一名优秀的程序员,十分优秀!