为什么要在配置文件中设置参数?因为这是需求啊,需要动态的改变这些参数的值,而不影响程序的运行。那么就让我们看看在java中的配置文件中是如何对参数进行设置的。
我们现在看的是在Servlet中配置参数:
<span style="font-size:18px;"> <servlet>
<servlet-name>SerachItemServlet</servlet-name>
<servlet-class>com.bjpowernode.drp.basedata.web.SerachItemServlet</servlet-class>
<init-param>
<param-name>pageSize</param-name>
<param-value>3</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>SerachItemServlet</servlet-name>
<url-pattern>/servlet/item/SerachItemServlet</url-pattern>
</servlet-mapping>
</span>
在相应的Servlet下获取设置的pageSize的值:
<span style="font-size:18px;">int pageSize=Integer.parseInt(this.getServletConfig().getInitParameter("pageSize")) ;</span>
上面的配置仅能在这个对应的Servlet下获取到值,如果别的Servlet下也要获取这个pageSize呢?很简单,在配置文件中给每个Servlet都配置上一样的内容。但是,这样就出现了代码重复的现象,那么我们就要采取办法来简化代码。
将这个pageSize参数设置到全局中,让所有的Servlet都能够获取到值。
<span style="font-size:18px;"> <context-param>
<param-name>page-size</param-name>
<param-value>2</param-value>
</context-param></span>
在任何Servlet中都可以获取设置的pageSize的值:
<span style="font-size:18px;">//从application范围内取得page-size,application指的是ServletContext对象
int pageSize=Integer.parseInt(this.getServletContext().getInitParameter("page-size"));</span>
这就相当于局部变量和全局变量吧。