은 내가 더-web.xml의 구성을 사용하지 no-xml 구성으로 RequestContextListener를 추가하는 방법은 무엇입니까?
<listener>
<listener-class>
org.springframework.web.context.request.RequestContextListener
</listener-class>
</listener>
것 같습니다 web.xml 파일에서, 내 봄 부팅 응용 프로그램에 리스너를 추가해야합니다, 그래서 나는
public class AppFilterConfig extends AbstractAnnotationConfigDispatcherServletInitializer {
@Override
protected Filter[] getServletFilters() {
CharacterEncodingFilter filter = new CharacterEncodingFilter();
filter.setEncoding("UTF8");
filter.setForceEncoding(true);
Filter[] filters = new Filter[1];
filters[0] = filter;
return filters;
}
private int maxUploadSizeInMb = 5 * 1024 * 1024; // 5 MB
@Override
protected Class<?>[] getRootConfigClasses() {
return null;
}
@Override
protected Class<?>[] getServletConfigClasses() {
return null;
}
@Override
protected String[] getServletMappings() {
return new String[]{"/"};
}
@Override
protected void registerDispatcherServlet(ServletContext servletContext) {
super.registerDispatcherServlet(servletContext);
servletContext.addListener(new HttpSessionEventPublisher());
}
@Override
public void onStartup(ServletContext servletContext) throws ServletException {
super.onStartup(servletContext);
servletContext.addListener(new RequestContextListener());
}
}
같은 클래스를 가지고 위의 코드에서 볼 수 있듯이
, 나는 onStartup에 리스너 (ServletContext에의 servletContext) 메소드를 추가했습니다,하지만 난 여전히
In this case, use RequestContextListener or RequestContextFilter to expose the current request.
이 메시지로 도움이되지 않습니다. 스프링 부트 애플리케이션에 리스너를 제대로 추가하려면 어떻게해야합니까?
왜이 기능이 필요합니까? 'RequestContextListener' (또는 필터)의 기능은 이미'DispatcherServlet'의 일부입니다. 그러나 구성 클래스를로드하지 않으므로 구성이 잘못되었습니다 ('rootConfigClasses'와'servletConfigClasses' 모두로드되지 않는 것으로 끝나는'null '을 반환합니다). –
Thanks @ M.Deinum,이 문제를 해결하고 있습니다 : http://stackoverflow.com/questions/35875098/protecting-rest-api-with-oauth2-error-creating-bean-with-name-scopedtarget-oau –