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" %> |