我在Spring上有一個應用程序,並使用Java Configs來配置和初始化我的應用程序,所以我沒有web.xml
。這裏是我的網頁初始化的樣子,在Spring中混合web.xml和AbstractAnnotationConfigDispatcherServletInitializer
public class WebInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
@Override
public void onStartup(ServletContext servletContext) throws ServletException {
super.onStartup(servletContext);
}
@Override
protected Class<?>[] getRootConfigClasses() {
return new Class<?>[]{PublicApiConfig.class, MobileConfig.class};
}
@Override
protected String[] getServletMappings() {
return new String[]{"/*"};
}
@Override
protected Filter[] getServletFilters() {
CharacterEncodingFilter characterEncodingFilter = new CharacterEncodingFilter();
characterEncodingFilter.setEncoding("UTF-8");
LoggingFilter loggingFilter = new LoggingFilter();
return new Filter[]{characterEncodingFilter, loggingFilter};
}
@Override
protected Class<?>[] getServletConfigClasses() {
return new Class<?>[0];
}
}
我需要實現Tomcat會話複製,併爲目的的緣故,我需要有應用程序distributable。使用傳統的web.xml,我可以添加<distributable/>
屬性,就是這樣。但據我所知,沒有辦法通過Java Configs來做到這一點。
我的問題是,如果有可能有混合的web.xml和java配置,例如有
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<distributable/>
</web-app>
並將其包含在WebInitializer
中。
是的,你可以混合使用它們,但是我沒有得到的是,即使有這個web.xml,你也會得到web.xml不存在的錯誤? –