我一直在开发阶段开发一个tomcat应用程序.随着我们前进,我的客户希望部署到websphere.我试图在websphere 8.5上这样做,但由于某种原因,我似乎遇到了问题.Tomcat很容易,我只是在战争中堕落,一切都像它应该的那样.Websphere是一个不同的故事.当我尝试点击我的应用程序时,我不断收到以下错误:
Error 404: SRVE0190E: File not found: {0}
Run Code Online (Sandbox Code Playgroud)
我一直在做一些研究,除了下面的一行,我没有注意到日志中有什么奇怪的.管理控制台说应用程序运行没有问题.
SRVE0292I: Servlet Message - [app#app.war]:.No Spring WebApplicationInitializer types detected on classpath
Run Code Online (Sandbox Code Playgroud)
我的应用程序是使用Java Config文件而不是传统的XML配置的,我猜不到这是问题的一部分?
我发现一篇博文说有些服务器设置需要应用.我试过那些没有成功的人:
com.ibm.ws.webcontainer.mapFiltersToAsterisk=true
com.ibm.ws.webcontainer.removetrailingservletpathslash=true
com.ibm.ws.webcontainer.invokeFiltersCompatibility=true
Run Code Online (Sandbox Code Playgroud)
我很茫然,有没有人有任何想法?
由于一些后续,我将发布我的web.xml和WebappInitializer:
@Order(2)
public class WebAppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
@Override
protected String[] getServletMappings() {
return new String[]{"/"};
}
@Override
protected Class<?>[] getRootConfigClasses() {
return new Class<?>[] {ApplicationConfig.class, DataSourceConfig.class, JpaConfig.class, SecurityConfig.class, MailConfig.class};
}
@Override
protected Class<?>[] getServletConfigClasses() {
return new Class<?>[] {WebMvcConfig.class};
}
@Override
protected Filter[] getServletFilters() {
CharacterEncodingFilter characterEncodingFilter = new CharacterEncodingFilter();
characterEncodingFilter.setEncoding("UTF-8"); …Run Code Online (Sandbox Code Playgroud)