urlrewrite-3.2.0.jar
最近urlrewrite 3.2.0を使って、普通の需要はすべて満たすことができると感じて、しかしディレクトリ級のURLをする時、いくつかimgのピクチャーを見てすべてrulesを歩きます.とても性能がかかるような気がします.拡張クラスを書くのを手伝って、みんながもっと良い方法があるかどうか分からないで、交流することができます.
---web.xml
//次は正規表現を設定できるような気がします.しかし、以下のような構成で十分なので、まず以下のように使いましょう.
UrlRewriteFilter
com.netxapp.web.common.util.UrlRewriteExcludeSpecFilter
logLevel
debug
excludeURL
/style/,/img/,/images/,/script/
UrlRewriteFilter
/*
----UrlRewriteExcludeSpecFilter
---web.xml
//次は正規表現を設定できるような気がします.しかし、以下のような構成で十分なので、まず以下のように使いましょう.
----UrlRewriteExcludeSpecFilter
package com.netxapp.web.common.util;
import java.io.IOException;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.tuckey.web.filters.urlrewrite.UrlRewriteFilter;
public class UrlRewriteExcludeSpecFilter extends UrlRewriteFilter {
private FilterConfig config = null;
private final Log log = LogFactory.getLog(UrlRewriteExcludeSpecFilter.class);
public void init(FilterConfig filterConfig) throws ServletException {
this.config = filterConfig;
log.debug("~~~~~~~~~~~~~~~~~~" + config.getInitParameter("excludeURL"));
super.init(filterConfig);
}
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException,
ServletException {
String excludeURLStr = config.getInitParameter("excludeURL");
boolean isExclude = false;
if (excludeURLStr != null) {
String requestURL = ((HttpServletRequest) request).getRequestURI();
log.debug("~~~~~~~~~~~~~~~~~excludeURL~" + excludeURLStr + "|requestURL=" + requestURL);
String[] excludeURLs = excludeURLStr.split(",");
for (int i = 0; excludeURLs != null && i < excludeURLs.length; i++) {
if (requestURL.startsWith(excludeURLs[i])) {
isExclude = true;
break;
}
}
}
if (isExclude) {
chain.doFilter(request, response);
} else {
super.doFilter(request, response, chain);
}
}
}