1:java中获取web.xml中的参数
类要继承extends HttpServlet。只要能拿到. 一个不带参的init方法,一个带参的init方法
public class AutoLoad extends HttpServlet
{
private Log logger = LogFactory.getLog(AutoLoad.class);
public void init() throws ServletException {
super.init();
}
public void init(ServletConfig config) throws ServletException
{
super.init(config);
logger.info("开始系统初始化......");
long sd = System.currentTimeMillis();
//这里就是要做的一些配置的代码.............. eg:获取参数 DatabasePool.user = getConfigParam("user");
logger.info("系统初始化完毕,用时:" + String.valueOf(System.currentTimeMillis() - sd) + "毫秒");
}
获取参数的代码
private final String getConfigParam(String paramName) {
return getServletContext().getInitParameter(paramName);
}
getServletContext().getInitParameter(paramName);
网上还有一个意见是
getServletConfig().getInitParameter("paramName");
网上给出的出别
getServletConfig()
在servlet初始化时,容器传递进来一个ServletConfig对象并保存在servlet实例中,该对象允许访问两项内容:初始化参数和ServletContext对象,前者通常由容器在文件中指定,允许在运行时向sevrlet传递有关调度信息,比如说 getServletConfig().getInitParameter("debug")后者为servlet提供有关容器的信息。此方法可以让servlet在任何时候获得该对象及配置信息。
在servlet初始化时,容器传递进来一个ServletConfig对象并保存在servlet实例中,该对象允许访问两项内容:初始化参数和ServletContext对象,前者通常由容器在文件中指定,允许在运行时向sevrlet传递有关调度信息,比如说 getServletConfig().getInitParameter("debug")后者为servlet提供有关容器的信息。此方法可以让servlet在任何时候获得该对象及配置信息。
getServletContext()
一个servlet可以使用getServletContext()方法得到web应用的servletContext
即而使用getServletContext的一些方法来获得一些值
比如说 getServletContext().getRealPath("/")来获得系统绝对路径
getServletContext().getResource("WEB-INF/config.xml")来获得xml文件的内容
2:web.xml中的配置
<context-param>
<param-name>user</param-name>
<param-value>sa</param-value>
</context-param>
<context-param>
<param-name>pass</param-name>
<param-value>sa123</param-value>
</context-param>
3:如果是用webwork的话,想要获取参数的,就要用下面的代码
首先类要实现 implements ServletContextListener
获取参数的代码
private final String getConfigParam(ServletContext context,String paramName) {
return context.getInitParameter(paramName);
}
webwork的初始化
public class AutoLoadListener implements ServletContextListener
{
private Log logger = LogFactory.getLog(AutoLoad.class);
public void contextInitialized(ServletContextEvent event) {
// TODO Auto-generated method stub
logger.info("开始系统初始化......");
long sd = System.currentTimeMillis();
//这是是写处理的代码
//eg: 获取参数 DatabasePool.user = getConfigParam(event.getServletContext(),"user");
logger.info("系统初始化完毕,用时:" + String.valueOf(System.currentTimeMillis() - sd) + "毫秒");
}