3

指示に従い、Spring Boot の prerender フィルターを構成しようとしていますが、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 を構成するにはどうすればよいですか?

4

2 に答える 2

4

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, "/*");
于 2015-07-13T20:58:22.230 に答える
0

Aamirs ソリューションの Spring Boot バージョンを提供したいと考えています。

@Configuration //instead of @SpringBootApplication 
@EnableAutoConfiguration //instead of @SpringBootApplication
@PropertySource(value = { "classpath:application.properties" })
@EntityScan("de.dpt.persistence")
@ComponentScan("de.dpt")
@EnableJpaRepositories("de.dpt.persistence")
public class Application extends SpringBootServletInitializer {

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(Application.class);
    }

    @Override
    public void onStartup(ServletContext context) throws ServletException {

        PreRenderSEOFilter seoFilter = new PreRenderSEOFilter();
        FilterRegistration.Dynamic filter =  context.addFilter("prerender", seoFilter);
        filter.setInitParameter("prerenderToken", "<your token>");
        filter.addMappingForUrlPatterns(null , true, "/*");

        super.onStartup(context);
    }

}
于 2015-12-05T14:13:39.673 に答える