Servlet是一个接口,用于被实现类实现后完成与浏览器客户端的交互操作。
Servlet接口中具有init,service,和destroy方法,分别代表着servlet对象的初始化,客户端的请求与服务器的响应,servlet对象的销毁。其中init方法为servlet对象初建的时候执行,而service方法为每次浏览器请求时都执行,destroy则为servlet销毁的时候执行,一般为关闭服务器时销毁。servlet对象默认为服务器启动后第一次访问servlet时创建该对象。
web.xml的url-pattern标签中,如果写为/A/B/C/*,如果访问网址的后缀为/A/B/C/任意字符时,都会找到selvet-class的类,如果为*.abc则访问的必须为abc扩展名的网站,以上两者不能搭配。当在xml的servlet标签中写入<load-on-startup>优先级数字</load-on-startup>时,代表servlet对象会在服务器启动时一同被创建而不必等浏览器访问servlet,其中优先级数字越低越快,最低为1但建议不要设为1。当你在url-pattern标签中写为/时,则表示如果都不匹配,则匹配到该项,注意,jsp结尾无法匹配到该项。
ServletContext代表是一个web应用的环境(上下文)对象,一个web工程中只有一个ServletContext对象,它产生自web工程被加载时,销毁于web应用被卸载时。
通过this.getServletContext()获得ServletContext对象,它类似一个全局容器,可以用于各个servlet对象存储和修改共享数据,它的存储方式是键值对的形式,即键值不能重复,通过ServletContext调用setAttribute(String name,Object obj)的方式存入键值对,通过getAttribute(String name)的方式获得value的object类型值,通过removeAttribute(String name)的方式移除键值对。
ServletContext对象还可以通过getInitParameter(输入param name值)的方式获得web.xml中配置的全局初始化参数。
ServletContext对象还可以通过getRealPath(输入相对于tomcat中web应用的相对位置)获得一个绝对路径。