src/org/nutz/mvc/NutMvcListener.java
protected void findConfig() {
        String propLocation = sc.getInitParameter(PROP_LOCATION);
        if (Strings.isBlank(propLocation)) {
            propLocation = "nutz.properties";
        }
        PropertiesProxy pp = new PropertiesProxy();
        Enumeration<String> params = sc.getInitParameterNames();
        while (params.hasMoreElements()) {
            String name = (String) params.nextElement();
            if (name.startsWith("nutz-")) {
                pp.put(name, sc.getInitParameter(name).trim());
            }
        }
        // 先找找classpath
        InputStream in = getClass().getClassLoader().getResourceAsStream("/" + propLocation);
        if (in == null) {
            in = sc.getResourceAsStream("/WEB-INF/" + propLocation);
        }
        if (in == null) {
            log.debug(propLocation + " not found");
        } else {
            pp = new PropertiesProxy(in);
            Streams.safeClose(in);
        }
        this.pp = pp;
    }
protected void findConfig() {
        String propLocation = sc.getInitParameter(PROP_LOCATION);
        if (Strings.isBlank(propLocation)) {
            propLocation = "nutz.properties";
        }
        PropertiesProxy pp = new PropertiesProxy();
        Enumeration<String> params = sc.getInitParameterNames();
        while (params.hasMoreElements()) {
            String name = (String) params.nextElement();
            if (name.startsWith("nutz-")) {
                pp.put(name, sc.getInitParameter(name).trim());
            }
        }
        // 先找找classpath
        InputStream in = getClass().getClassLoader().getResourceAsStream("/" + propLocation);
        if (in == null) {
            in = sc.getResourceAsStream("/WEB-INF/" + propLocation);
        }
        if (in == null) {
            log.debug(propLocation + " not found");
        } else {
            pp = new PropertiesProxy(in);
            Streams.safeClose(in);
        }
        this.pp = pp;
    }
首先,载入需要的配置信息, 分别从nutz.properties和ServletContext的上下文获取.
<p/>
子类可以覆盖这个方法实现从任意方式加载配置