Servlet是用于实现web浏览器和java程序的对应关系,通过浏览器请求服务器调用对应的java程序,就是Servlet的主要功能
一个使用Servlet的类必须实现Servlet接口,implements Servlet,并且实现其中的方法。或者可以通过Servlet包中提供的GenericServlet来快速实现接口的方法。
一个Servlet的生命周期包括
->生成无参构造方法
->init
->service
->destroy
在web.xml文件中需要对Servlet进行配置,常见的一些配置信息有<servlet>, <servlet-mapping>, <servlet-name>, <servlet-class>, <url-patten> , <load-on-start> , <init-param>(config配置参数), <context-parm>(context全局配置参数) , <param-name> , <param-value>
Servlet接口需要实现
1、init
2、service
3、destroy
4、getConfig
5、getContext
service是Servlet的请求调用核心,调用这个Servlet时就会启用该方法
getContext返回一个ServletContext对象,一个ServletContext对象对应的是一个web.xml文件的内容,Servlet中的配置信息是全局类型的,是Servlet的上下文(context)。下面介绍ServletContext中的部分方法,
getContextPath:获取当前ServletContext的所在项目的根
getRealPath():获取当前ServletContext的绝对路径
向context中存、取、删数据:
setAttribute(key,value)、 getAttribute(key) 、 removeAttribute(key)
Servlet的getConfig方法就是用来获取Config对象的,一个config对象包含<servlet></servlet>中的所有配置信息, 是局部信息,config有四个方法,getServletContext, getInitParameterNames , getInitParameter , getServletName。在继承GenericServlet抽象类后,上述config中的方法可直接通过this调用,因为GenericServlet这个抽象类是实现了Servlet接口的适配器,除了service需要自己实现,其他四个方法都是GenericServlet帮助实现的