1.项目下pom.xml 需要引入依赖: <dependency> <groupId>org.tuckey</groupId> <artifactId>urlrewritefilter</artifactId> <version>4.0.4</version> </dependency>
2.urlrewrite.xml 放在resource下面如图:
配置文件配置规则:遵循正则表达式
3.以下是方法和相关jar包的引入
package com.common.config;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.io.Resource;
import org.tuckey.web.filters.urlrewrite.Conf;
import org.tuckey.web.filters.urlrewrite.UrlRewriteFilter;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import java.io.IOException;
/**
* @author zhanxioachu
* @Description
* @Date 2020/8/26 10:10
*/
@Configuration
public class UrlRewriteFilterConfig extends UrlRewriteFilter {
private static final String URL_REWRITE = "classpath:/urlrewrite.xml";
//Inject the Resource from the given location
@Value(URL_REWRITE)
private Resource resource;
//Override the loadUrlRewriter method, and write your own implementation
protected void loadUrlRewriter(FilterConfig filterConfig) throws ServletException {
try {
//Create a UrlRewrite Conf object with the injected resource
Conf conf = new Conf(filterConfig.getServletContext(), resource.getInputStream(), resource.getFilename(), "@@[email protected]@");
checkConf(conf);
} catch (IOException ex) {
throw new ServletException("Unable to load URL rewrite configuration file from " + URL_REWRITE, ex);
}
}
}