1.
请问javax.servlet.GenericServlet中的getInitParameter()是在哪里实现的呢?
2.
同问!
------------
网上搜的一下,好像说什么容器实现之类的,但都没说清楚:
1.([url=http://blog.sina.com.cn/s/blog_5f229d2d0100d4yu.html]http://blog.sina.com.cn/s/blog_5f229d2d0100d4yu.html[/url])
TomCat中对GenericServlet和HttpServlet的分析
在GenericServlet中几乎所有的操作都是通过一个ServletConfig对象来进行,包括对页面传递参数的获取,web.xml中配置的初始化参数都是通过这个ServletConfig对象来获取的。
而这个ServletConfig对象是由TomCat在调用GenericServlet对象的时候自动生成以后传递给GenericServlet对象的,在GenericServlet中对应的源码是这样的
2.([url=http://luodoudou.blog.163.com/blog/static/2037901782008418114844326/]http://luodoudou.blog.163.com/blog/static/2037901782008418114844326/[/url])
原理: 每一个servlet都对应一个ServletConfig实例,在容器建立此servlet时,会读取web.xml里关于此servlet的配置,并将所有的<init-param></init-param>创建名/值对放在ServletConfig实例中,当servlet处理请求时,就可以得到servletConfig实例中的初始化参数了。 注:容器只在servlet初始化时读这些参数,如果以后更改了,需要重新部署此servlet。 2. 整个应用公用的参数配置,又叫上下文初始化参数 相当于公共常量,应用中的每个servlet都可能用到
-----------------
附:基础知识
1)用于单独的servlet类
2)用于整个应用程序,也就是说,所有的servlet类都可以获取初始化参数