一、Servlet的作用
servlet是在servlet容器内运行的程序,有时需要访问容器外部或借助容器访问外部资源。所以可以通过web.xml文件中为某个servlet配置的名称和参数等信息传递给servlet。
这样做的好处是:如果将重要的信息、编码方式等配置信息放在web.xml中,如果以后这些信息改变了,则直接很方便地修改web.xml就行了,避免了直接修改源代码的麻烦。
如:
1 <servlet>
2 <servlet-name>servletConfig</servlet-name>
3 <servlet-class>configClass</servlet-class>
4 <init-param>
5 <param-name>name<param-name>
6 <param-value>something<param-value>
7 </init-param>
8 </servlet>
servlet引擎会将代表servlet容器的对象和servlet的配置参数信息一并封装到servletConfig对象中。
当servlet引擎创建一个servlet实例对象后,调用该实例对象的init(ServletConfig config)方法将Servlet对象传递给Servlet。
然后可以用Servlet.getServletConfig()方法来获取ServletConfig的引用(必须先init)
二、调用ServletConfig对象对外提供方法来获取信息
- getInitParameterNames():返回一个Enumeration集合对象,该集合对象包含了所有参数名称
- getInitParameter():名称作为参数,返回值。如果没有则返回null
- getServletName():返回Servlet在Web.xml中的注册类名。如上面的例子返回的是"configClass"
- getServletContext():每个servlet容器都用各自的servletContext对象表示。servletConfig包含了servletContex的引用。该方法返回该引用。