解决ServletContext为空的问题

解决ServletContext为空的问题

  • 解决方法:

    1. 方法一:在子类 Servlet 重写的 init() 或 init(ServletConfig servletConfig) 的第一行调用父类对应的初始化方法!使 GenericServlet 完成 ServletContext 和 Servlet 的关联(一般的 Servlet 是继承 HttpServlet 的,而 HttpServlet 是继承自 GenericServlet。两个初始化方法都是来自 GenericServlet)。
    2. 方法二:在子类 Servlet 的 初始化方法中完成 ServletContext 和 Servlet 的关联:设置一个成员变量ServletContext servletContext;在初始化方法中使之等于 getServletConfig.getServletContext();
  • 扩展知识:

    1. Servlet 规范中标准化的初始化方法应该是重写 public void init(ServletConfig servletConfig){} 因为功能比较强大,可以通过 servletConfig 获取初始化参数
    2. 当 Servlet 子类完成的功能比较简单时,则可以重写 public void init(){},Servelt 就会调用无参的 init();
java
复制代码
public class DispatcherServlet extends HttpServlet { private ServletContext servletContext; @Override public void init(ServletConfig servletConfig) throws ServletException { //解决 ServletContext 为空的问题 //方法一:调用 GenericServlet 的 init(ServletConfig servletConfig) 方法, // 使之正确的完成 ServletContext 和自定义 Servlet 的关联 super.init(servletConfig);//调用 GenericServlet 的 public void init(ServletConfig servletConfig) 方法, //使 Servlet 正确的完成初始化 //方法二:自己定义一个成员变量,手动完成 ServletContext 和自定义 Servlet 的关联 this.servletContext = servletConfig.getServletContext(); } }
0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
鱼友8621
作者分享
# 毕业一年,失业半年,三份劳动合同 毕业前一年,一边在教室尽自己最大的耐力学习,一边焦虑着自己的竞争力,不停怀疑自己。总觉得自己比起其他人很差劲,知识深度浅,面窄。一直焦虑,一直没敢付诸行动,做事束手束脚。到了去年八月末,在近期面试三四家的情况下,糊里糊涂进了公司,还没入职,就已经从制度,福利,公司气氛,业务中感受到了各种不舒服(入职a,与b签合同,在c打卡),入职第一周,就已经想离职了。但我更害怕出来找不到工作,于是硬着头皮待了下去。中间又签署了一份劳动合同,从b改签到了a。最后由于种种事情累加在一起,我终于下定决心离职。离职期间有过玩乐,逃避,重新面试,挫败,幸运,遗憾,无所谓,随缘。期间也明白了在资源和硬实力拉不开差距时,时势造就英雄。目前随缘到了第三份劳动合同跟前,目前来说,这次的工作非常符合我去年对工作的期望的。总感觉自己实际生活的发展晚同辈人一步。学前班升一年级,我留级;高考,我复读;进路局,我升本;初入社会,我焦虑踌躇。
5
Java智慧水利这个方向发展如何呢?公司背景是中核和其他几个民营企业合资的,规模99到20人。里面百分之八十是中年人。
2
25届专升本在北京的低代码公司工作
3
25届无实习经历,现在该怎么办呢?😵我是专升本
4
通过锁和事务实现一个用户创建一个空间(智能协同云图库——空间模块)
5
下载 APP