Servlet的init注意点有哪些


本篇内容主要讲解“Servlet的init注意点有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Servlet的init注意点有哪些”吧!在Servlet的GenericServleta类中有两个init()方法,两个方法在使用的时候要注意:
如果我们直接通过实现Servlet接口来编写一个Servlet类,就需要实现 Servlet接口中定义的5种方法,为了简化Servlet的编写,在javax.servlet包中,给我们提供了一个抽象的类 GenericServlet,它提供了除service()方法外的其他4种方法的简单实现。GenericServlet类定义了一个通用的、不依赖于具体协议的Servlet,它实现了Servlet接口和ServletConfig接口。如果我们要编写一个通用的Servlet,只需要从GenericServlet类继承,并实现其中的抽象方法service()。GenericServlet类中,提供了两种重载的init()方法 (Tomcat中的源代码 ):
public void init(ServletConfig config)throws ServletException{this.config = config;this.init();
}public void init()throws ServletException{
}第一种init()方法是Servlet接口中init()方法的实现。这种方法中,首先将ServletConfig对象保存在一个transient实例变量中,然后调用第二种不带参数的init()方法。
通常我们在编写集成自GenericServlet的Servlet类时,只需重写 第一种不带参数的init() 方法就可以了。如果覆盖了第二种init()方法,那么应该在子类的该方法中,包含一句supe免费云主机域名r.init(config) 代码调用。( super.init(config)即 GenericServlet .init(config) ,即 this.config = config和 this.init()两句代码,如果没有这两句代码,由于Servlet中有这么一句代码:this.getServletConfig().getServletName(), getServletConfig()中的代码是return config , 要是程序员改写含参数的init方法时,要是忘了 super.init(config) ,那么 config为空 ,则 getServletName()为空 ,就会出现空指针异常 ,所以为了防止这个错误,程序员们一般改写init()这个方法,注:Tomcat调用的是 init(ServletConfig config)这个方法。 )init(servletconfig config)
this.config = config
init();
重写必须得 super.init(config)
不然不能使用 this.getServletConfig
当然也就不能用 getInitParameter();
我们只需要重写 init();如:public void init(ServletConfig config) throws ServletException {
// TODO Auto-generated method stub
super.init(config);
String num=config.getInitParameter(“num”);
System.out.println(“初始化数为:”+num);
}到此,相信大家对“Servlet的init注意点有哪些”有了更深的了解,不妨来实际操作一番吧!这里是云编程开发博客网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

相关推荐: Ubuntu 创建开机自启动脚本的方法

详情请见附免费云主机域名件相关推荐: 关于网站ssl证书的简介小编给大家分享一下关于网站ssl证书的简介,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!一、我们用免费的ssl证书对网站有影响吗?1、首先我们来说一下免费的ssl证书,对网站有影响吗?…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 02/04 22:43
Next 02/04 22:43