jsp+Servlet学习(二)初始化参数
在某个servlet中,有时我们可能要使用到某个定值,比如说ip,如果直接在servlet中写ip,当ip发生变化时,就需要从新编译。解决方法是将ip这个的值配置web.xml中。
配置如下:
(结合上一篇的配置)
String qq = getServletContext().getInitParameter("qq");
注:每个servlet一个Servletconifg,每个web应用一个ServletContext
要把初始化参数认为是部署时常量,可以在运行时得到这些初始化参数,但是不能设置。
获取ServletContext的方法:
servlet的ServletConfig对象拥有该Servletcontext的一个引用。所以有以下两种形式:
getServletConfig().getServletContext().getInitParameter();
这样做不仅合法,而且与下面的代码是等价的:
this.getServletContext().getInitParameter();
在一个Servlet中,只有一种情况需要通过ServletConfig得到ServletContext,那就是在你的Servlet类没有扩展HttpServlet或GenericServlet(getServletContext()方法是从GenericServlet中继承的)。但是使用非HttpServlet的可能性几乎为零。所以只需要调用getServletContext()方法就可以了,不过倘若真要看到使用ServletConfig来得到上文中的代码也是有可能的。如一个辅助类/工具类,这个类传递了一个ServletConfig.