Head First Servlets&JSP 读书笔记_5
如何将某些参数写在DD中,而非写死在类中
初版解决办法(以Email地址为例):
1 | //DD中: |
同时
1 | //servlet中: |
- 一般
Servlet都是继承自HttpServlet,而HttpServlet是GenericServlet的子类。getInitParameter()方法来自于GenericServlet,所以Servlet可以调用此方法去获取web.xml配置文件中的配置信息。 - 容器初始化一个servlet时,会为这个servlet建一个唯一的ServletConfig。其出场顺序为:先由容器加载servlet类,然后init()初始化,初始化完成前得到了ServletConfig对象,同时可以调用getInitParameter方法,从DD中读取初始化参数,经由ServletConfig传递给init()方法。
- 划重点:先
init(),后得到ServletConfig,同时使用初始化参数(只能读一次)!可参考Head First Servlets&JSP 读书笔记_3中关于init()方法的讲解 - 以上的代码只是专属于此Servlet的初始化参数,无法全局使用;若采取保存下来的方式,又必须使此Servlet最早先运行,这么一来可维护性极差
