E31.0 资源管理办法调整

huangyh 2009-02-16
之前服务器启动的时候,e3会把使用到的资源文件自动导出到web应用的e3文件夹下,但是这样做存在一些问题:
1.e3是利用tld中定义的监听器来实现资源导出功能的,但是Tld中的监听器有的时候不会触发,导致资源文件无法释放出来,这个问题非常诡异,在不同的tomcat版本都发生过,5.08,5.5,6.0都有出现过,其中5.5出问题的情况最多。当并不是所有人的tomcat都有这个问题,本人机器就无法重现这个问题.

2.因为需要导出资源文件到当前应用的e3目录下,所以要求应用部署不能以打包的方式部署(如果打包了,必须自动展开),这算是个缺陷

3.启动时候自动释放出资源文件,这对启动速度有一定影响,随着资源文件的增加,这种影响会越来越明显

为此,1.0进行了调整,将资源文件打包到jar里,使用E3.Resource读jar中的资源,这样就不需要启动的时候释放资源文件了,不过在web.xml中需要添加E3.Resource过滤器,配置方法是
      <filter>
        <filter-name>e3/resource</filter-name>
        <filter-class>net.jcreate.e3.resource.impl.ResourceFilter</filter-class>
    </filter>
    
    <filter-mapping>
         <filter-name>e3/resource</filter-name>
        <url-pattern>/e3/*</url-pattern>
    </filter-mapping>
    <filter-mapping>
         <filter-name>e3/resource</filter-name>
        <url-pattern>/net/jcreate/e3/*</url-pattern>
    </filter-mapping>


另外e3.tree e3.table的taglib引用请使用下面的方式

<%@ taglib uri="http://www.jcreate.net/e3/tree" prefix="e3" %>
<%@ taglib uri="http://www.jcreate.net/e3/table" prefix="e3t" %>

Global site tag (gtag.js) - Google Analytics