码迷,mamicode.com
首页 > 其他好文 > 详细

servlet(1)

时间:2019-04-17 22:12:22      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:不用   管理所   标签   info   post   Servle   article   pointer   name   

servlet类分级:

1.ServletConfig接口类:理解为读取servlet配置的类,里面有四个抽象方法如下:

技术图片

①getServletName:获取servlet在web.xml中的名字

②getServletContext:获取Servlet上下文,相当于web项目管理所有servlet的对象,可以读取web.xml中配置的全局参数,也可以通过一个servlet设置参数,另外一个servlet读取参数,达到servlet相互沟通的的目的。(转载:具体可以看这里:https://blog.csdn.net/qq_36371449/article/details/80314024

③getInitParameter:通过参数名获取值

④getInitParameterNames:得到一个<servlet>标签里面所有的参数名字

 

2.Servlet接口:定义了5个方法,理解为定义了一个servlet的生命(动作)和信息

技术图片

init,service,destroy三个和servlet生命周期相关的方法,以及一个得到serlvet配置的方法(getServletConfig)和得到servlet(getServletInfo,这个方法在子类中被实现为返回一个空字符串)信息的方法

 3.GenericServlet:抽象类,实现了ServletConfig接口和Servlet接口中方法,重写了Servlet类的init()和destroy(),将service方法定义为抽象,强迫子类实现它。

技术图片

    有参init方法和无参init方法的区别:当容器初始化servlet时会调用有参的init()方法(可能和Servlet接口中只有有参的init方法有关吧),如果只有有参init,而没有无参init时,当人们需要重写init方法进行一些其他的初始化,就只能重写有参init方法,如果忘了调用super.init(),那么当使用getServletConfig()方法时,就会出现“NullPointerException”异常,所以在加一个无参init函数,而有参init调用无参init,人们只需重写无参init进行其他初始化即可,这样servlet被初始化时,先调用有参init,然后有参init调用无参init,即你重写的init方法。

4.HttpServlet:抽象类,继承了GenericServlet类,所以可以使用GenericServlet类中的方法,重写了servse方法,通过getMethod()方法来决定使用doGet()或doPost()等方法。

5.自己定义的servlet类:一般继承于HttpServlet,通过继承HttpServlet,可以使用上述4个类中大部分方法,我们只需要根据需要重写其中的方法即可,service方法不用重写。

 

servlet(1)

标签:不用   管理所   标签   info   post   Servle   article   pointer   name   

原文地址:https://www.cnblogs.com/yuby/p/10726495.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!