は、私は何の-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.
このメッセージを受け取ると、それは助けにはなりません。 Springブートアプリケーションにリスナーを適切に追加するにはどうしたらいいですか?
なぜこれが必要ですか? 'RequestContextListener'(またはフィルター)の機能は既に' DispatcherServlet'の一部です。しかし、設定クラスもロードしていないので、あなたの設定も間違っています( 'rootConfigClasses'と' servletConfigClasses'は 'null'を返してロードされません)。 –
ありがとう@ M.Deinum、私はこの問題を解決しています:http://stackoverflow.com/questions/35875098/protecting-rest-api-with-oauth2-error-creating-bean-with-name-scopedtarget-oau –