在Java中配置过滤器
作者:互联网
我试图按照说明进行操作,并为Spring Boot配置一个预渲染过滤器,但是由于Boot中没有web.xml,因此我需要使用Java配置来执行此操作.
我尝试遵循的针对带有web.xml的Spring应用程序的说明:
1:将此行添加到您的web.xml:
<filter>
<filter-name>prerender</filter-name>
<filter-class>com.github.greengerong.PreRenderSEOFilter</filter-class>
<init-param>
<param-name>prerenderToken</param-name>
<param-value>[get from prerender: https://prerender.io/]</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>prerender</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
2:添加对项目pom的依赖关系:
<dependency>
<groupId>com.github.greengerong</groupId>
<artifactId>prerender-java</artifactId>
<version>1.6.4-SNAPSHOT</version>
</dependency>
到目前为止,我做了什么:
我将依赖项添加到pom中.我创建了一个WebConfig类并实例化了Bean:
@Configuration
public class WebConfig {
@Bean
public PreRenderSEOFilter PreRenderSEOFilter() {
PreRenderSEOFilter prerenderFilter = new PreRenderSEOFilter();
return prerenderFilter;
}
}
但是我不知道如何配置它. prerenderFilter有一个方法init(FilterConfig filterConfig).但是我不确定如何使用它.
如何配置此prerenderFilter?
解决方法:
在您的WebApplicationInitializer中,可以使用以下代码:
com.github.greengerong.PreRenderSEOFilter seoFilter = new com.github.greengerong.PreRenderSEOFilter();
FilterRegistration.Dynamic filter = container.addFilter("prerender", seoFilter);
filter.setInitParameter("prerenderToken", "<YOU TOKEN>");
filter.addMappingForUrlPatterns(null , true, "/*");
标签:spring-boot,configuration,prerender,spring,java 来源: https://codeday.me/bug/20191028/1953195.html