Servlet--ServletConfig接口,GenericServlet类
- ServletConfig接口
定义:public interface ServletConfig
这个接口定义了一个对象, 通过这个对象, Servlet 引擎配置一个 Servlet 并且允许 Servlet获得一个有关它的 ServletContext 接口的说明。每一个 ServletConfig 对象对应着一个唯一的Servlet。
方法:
1、getInitParameter
public String getInitParameter(String name);
这个方法返回一个包含 Servlet 指定的初始化参数的 String。 如果这个参数不存在, 返加空值。
2、getInitParameterNames
public Enumeration getInitParameterNames();
这个方法返回一个列表 String 对象,该对象包括 Servlet 的所有初始化参数名。如果Servlet 没有初始化参数,getInitParameterNames 返回一个空的列表。
3、getServletContext
public ServletContext getServletContext();
返回这个 Servlet 的 ServletContext 对象。
- GenericServlet接口
public abstract class GenericServlet implements Servlet,ServletConfig, Serializable;
这个类的存在使得编写 Servlet 更加方便。它提供了一个简单的方案,这个方案用来执
行有关Servlet生命周期的方法以及在初始化时对ServletConfig对象和ServletContext对象进
行说明。
方法
1、destroy
public void destroy();
在这里 destroy 方法不做任何其他的工作。
2、getInitParameter
public String getInitParameter(String name);
这是一个简便的途径,它将会调用 ServletConfig 对象的同名的方法。
3、getInitParameterNames
public Enumeration getInitParameterNames();
这是一个简便的途径,它将会调用 ServletConfig 对象的同名的方法。
4、getServletConfig
public ServletConfig getServletConfig();
返回一个通过这个类的 init 方法产生的 ServletConfig 对象的说明。
5、getServletContext
public ServletContext getServletContext();
这是一个简便的途径,它将会调用 ServletConfig 对象的同名的方法。
6、getServletInfo
public String getServletInfo();
返回一个反映 Servlet 版本的 String。
7、init
public void init() throws ServletException;
public void init(ServletConfig config) throws ServletException;
init(ServletConfig config)方法是一个对这个 Servlet 的生命周期进行初始化的简便的途径。
init(ServletConfig config)方法会存储config对象然后调用init() 。 如果你重载了这个方法 ,你必须调用 super.init(config),这样 GenericServlet 类的其他方法才能正常工作。
init()方法是用来让你对 GenericServlet 类进行扩充的,使用这个方法时,你不需要存储config 对象,也不需要调用 super.init(config)。
8、 log
public void log(String msg);
public void log(String msg, Throwable cause);
通过 Servlet content 对象将 Servlet 的类名和给定的信息写入 log 文件中。
9、 service
public abstract void service(ServletRequest request, ServletResponse response) throws ServletException, IOException;
这是一个抽象的方法,当你扩展这个类时,为了执行网络请求,你必须执行它。
package javax.servlet; import java.io.IOException;
import java.io.Serializable;
import java.util.Enumeration; public abstract class GenericServlet implements Servlet, ServletConfig, Serializable
{
//这里封装一个ServletConfig对象,每一个 ServletConfig 对象对应着一个唯一的Servlet。
private transient ServletConfig config; public void destroy()
{
} //这是一个简便的途径,它将会调用 ServletConfig 对象的同名的方法。以下3个方法都是:
public String getInitParameter(String name)
{
return getServletConfig().getInitParameter(name);
} public Enumeration getInitParameterNames()
{
return getServletConfig().getInitParameterNames();
} //Servlet引擎配置一个 Servlet,并且允许 Servlet,获得一个有关它的 ServletContext 接口的说明
public ServletContext getServletContext()
{
return getServletConfig().getServletContext();
} //我们常常在自己写的Servlet用这个方法,其实就是在这里被继承过去的
public ServletConfig getServletConfig()
{
return this.config;
} public String getServletInfo()
{
return "";
} //重写Servlet的init方法
public void init(ServletConfig config) throws ServletException
{
this.config = config;
init();
} public void init() throws ServletException
{
} public void log(String msg)
{
getServletContext().log(getServletName() + ": " + msg);
} public void log(String message, Throwable t)
{
getServletContext().log(getServletName() + ": " + message, t);
} //推迟到子类实现,这里仍然是抽象方法
public abstract void service(ServletRequest paramServletRequest, ServletResponse paramServletResponse) throws ServletException, IOException; public String getServletName()
{
return this.config.getServletName();
}
}
Servlet--ServletConfig接口,GenericServlet类的更多相关文章
- Servlet基础之一:Servlet基本接口与类
1.概述 Servlet API中共有5个包,约113个接口和类: javax.servlet javax.servlet.http javax.servlet.jsp javax.servlet.a ...
- Servlet的接口实现类
Sun公司提供了两个默认实现类 GenericServlet和HttpServlet HttpServlet指能够处理Http请求的Servlet,它在原有的Servlet基础上添加了与HTTp相关的 ...
- javax.servlet.ServletConfig接口(五)
主要作用是保存web.xml文件里面的配置信息 一个servlet对应一个ServletConfig,100个servlet对应100个ServletConfig. 代码如下(单个获取和获取所有) ...
- Servlet各种接口和类
http://blog.csdn.net/jediael_lu/article/details/25036019
- Servlet API遍程常用接口和类
本文主要总结Servlet API遍程常用接口和类 Servlet API http://tomcat.apache.org/tomcat-5.5-doc/servletapi/index.html ...
- JavaWeb学习——Servlet相关的接口和类
JavaWeb学习——Servlet相关的接口和类 摘要:本文主要学习了Servlet相关的接口和类. Servlet的接口和类 三种方式 实现Servlet有三种方式: 实现javax.servle ...
- Javaweb学习笔记——(九)——————Servlet的进入,及ServletConfig、GenericServlet、HttpServlet、ServletContext、获取类路径资源
Servlet1.什么是Servlet? *Servlet是Javaweb三大组件之一(Servlet,Filter,Listener) *Servlet是用来处理客户端请求的动态资源 *Servle ...
- Servlet接口、GenericServlet类、HttpServlet类
Servlet是最顶层的接口,其提供的方法有: init(ServletConfig config):void // 初始化 getServletConfig():ServletConfig // 取 ...
- javaWeb学习总结(3)- Servlet总结(servlet的主要接口、类)
Servlet总结01——servlet的主要接口.类 (一)servlet类 Servlet主要类.接口的结构如下图所示: 要编写一个Servlet需要实现javax.servlet.Servlet ...
随机推荐
- go语言 前言
1什么是Go? Go是一门开源.并发支持.具有垃圾回收机制.编译性系统编程语言.在静态编译语言的高性能和动态语言的高效开发之间拥有良好平衡点.被称为21世纪的C语言.Go语言已经成为云计算.云存储时代 ...
- [python]使用xlrd对Excel表格进行读写操作
2.1 导入模块 import xlrd 2.2 打开Excel文件读取数据 data = xlrd.open_workbook("excelFile.xls") 2.3 使用技巧 ...
- Visual Studio 中添加SQLite数据源
相关下载:https://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki 在Visual Studio中要支持访问SQLi ...
- 【Splay】bzoj1500(听说此题多码上几遍就能不惧任何平衡树题)
1500: [NOI2005]维修数列 Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 15112 Solved: 4996[Submit][Statu ...
- 【转载】ipcs与Linux共享内存
一.共享内存相关知识 所谓共享内存,就是多个进程间共同地使用同一段物理内存空间,它是通过将同一段物理内存映射到不同进程的 虚拟空间来实现的.由于映射到不同进程的虚拟空间中,不同进程可以直接使用,不需要 ...
- c#快速写本地日志
很多人的程序在本地运行是好的,但是发布在服务器上后就会有各种各样的问题,但是服务器上又不能直接调试,所以直接读写本地日志成为解决问题的关键,我这个方法,会在发布网站的根目录自动创建 log.txt,并 ...
- Ubuntu系统下将默认的python2.7升级到3.5
在ubuntu 的终端中用代码下载最新的Python sudo apt-get install python3 系统会提示输入Linux 的密码,输入密码后下载 刚才下载的Python程序被安装在us ...
- Java中的集合框架(上)
Java中的集合框架概述 集合的概念: Java中的集合类:是一种工具类,就像是容器,存储任意数量的具有共同属性的对象. 集合的作用: 1.在类的内部,对数据进行组织: 2.简单的快速的搜索大数据量的 ...
- python爬虫之requests模块介绍
介绍 #介绍:使用requests可以模拟浏览器的请求,比起之前用到的urllib,requests模块的api更加便捷(本质就是封装了urllib3) #注意:requests库发送请求将网页内容下 ...
- Flume(一)Flume原理解析
前言 最近有一点浮躁,遇到了很多不该发生在我身上的事情.没有,忘掉这些.好好的学习,才是正道! 一.Flume简介 flume 作为 cloudera 开发的实时日志收集系统,受到了业界的认可与广泛应 ...