为UrlRewrite的多个XML配置文件的加载提供模糊匹配
为UrlRewrite的多个XML配置文件的加载提供模糊匹配
@for&ever 2009-11-27
之前写了一篇文章,《修改UrlRewriter使其由单配置文件到支持多配置文件》,网址http://blog.csdn.net/forandever/archive/2009/08/07/4423808.aspx ,对 UrlRewrite的代码进行了简单修改,
文章中的能够支持多个配置文件的情况。
最近,在项目中使用觉得还是不太方便,每次增加一个配置文件,都需要修改web.xml ,于是,在上次修改的基础上,继续修改代码,增加模糊匹配某个目录下的一定规则的文件的功能。
一、需求:
能够实现在 web.xml 中通过 * 的方式配置,一次即可配置好一系列的配置文件。例如:
在web.xml中如下配置:
<filter>
<filter-name>UrlRewriteFilter</filter-name>
<filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
<init-param>
<param-name>confPath</param-name>
<param-value>/WEB-INF/urlrewrite.xml /WEB-INF/conf/urlrewrite/abc*.xml</param-value>
</init-param>
</filter>
要能够实现加载文件/WEB-INF/urlrewrite.xml和/WEB-INF/conf/urlrewrite/目录下所有文件名匹配abc*.xml格式的文件的功能。
二、实现:
相关文档:
public int createXMLFile(String filename) {
int returnValue = 0;
Document document = DocumentHelper.createDocument(); //生成Document,用于管理XML文档
Element booksElement = document.addElement("books"); //添加 ......
使用javascript创建Microsoft XML DOM,就可以完成这一工作.
// 装入数据.
var source = new ActiveXObject("Microsoft.XMLDOM");
source.async = false
source.load("history.xml");
// 装入样式表.
var stylesheet = new ActiveXObject("Microsoft.XMLDOM");
stylesheet.async = false
stylesheet.load( ......
import java.io.File;
import java.io.FileNotFoundException;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class ResolveXmlFile {
public void resolverXml() throws DocumentException, FileNotFoundExcept ......
在web.config做參數設定時遇到特殊字元 value="http://www.yahoo.com.tw/default.aspx?sid=111111111&uid=test"
&uid這地方會出錯...換成&uid 就OK了~~
幾個
對照如下:
< 小於
<
> 大於
>
&
& ......
package com.jcauto.action;
import java.util.ArrayList;
import java.util.List;
public class ContentRsp {
private String resultCode;
List<ContentInfo> contentList = new ArrayList<ContentInfo>();
public void addContent(ContentInfo contentInfo) {
contentList.add(contentI ......