【发布时间】:2015-07-11 10:45:30
【问题描述】:
我正在创建一个基于REST 的Web 应用程序,其中AngularJS 作为前端,基于REST 的后端(使用Spring 4)。我正在遵循此处找到的基于代码的配置方法:WebApplicationInitializer
当我在服务器上运行项目时,我在该行中得到一个空值:
FilterRegistration.Dynamic filter = container.addFilter("prerender", seoFilter);
我错过了什么?我对使用注释从头开始创建网络应用程序有点陌生。
这是有问题的课程:
public class MyWebAppInitializer implements WebApplicationInitializer {
@Override
public void onStartup(ServletContext container) throws ServletException {
XmlWebApplicationContext appContext = new XmlWebApplicationContext();
appContext.setConfigLocation("classpath:MyContext.xml");
ServletRegistration.Dynamic dispatcher = container.addServlet("dispatcher", new DispatcherServlet(appContext));
dispatcher.setLoadOnStartup(1);
dispatcher.addMapping("/api/*");
com.github.greengerong.PreRenderSEOFilter seoFilter = new com.github.greengerong.PreRenderSEOFilter();
FilterRegistration.Dynamic filter = container.addFilter("prerender", seoFilter);
filter.setInitParameter("prerenderToken", "123456789123456789");
filter.addMappingForUrlPatterns(null , true, "/*");
ServletRegistration.Dynamic initSysConfiguration
= container.addServlet("initSysConfiguration", new InitSystemConfigurations());
initSysConfiguration.setLoadOnStartup(1);
initSysConfiguration.addMapping("/InitSystemConfigurations");
}
这一行给我null
com.github.greengerong.PreRenderSEOFilter seoFilter = new com.github.greengerong.PreRenderSEOFilter();
我试过了,结果一样
FilterRegistration.Dynamic filter1 = container.addFilter("prerender", com.github.greengerong.PreRenderSEOFilter.class);
【问题讨论】:
-
能否分享异常堆栈跟踪
-
你看过Javadoc并排除了
addFilter()方法返回null的所有情况吗?
标签: java spring rest web-applications