我有一个spring mvc项目。我正在尝试在IBM Websphere 8.5.5.2上部署此项目
我为该项目打了一场仗,并使用管理控制台将其部署在Websphere上
我正在使用基于Java的配置。 我正在使用AbstractAnnotationConfigDispatcherServletInitializer和WebMvcConfigurerAdapter类进行配置。
但是,当我部署应用程序时,会根据控制台得到以下信息: 在类路径上没有检测到spring Webapplicationinitializer类型
并且不会初始化spring初始化。
我的代码如下
@EnableWebMvc
@Configuration
@ComponentScan({ "com.demo" })
public class SpringWebConfig extends WebMvcConfigurerAdapter {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/resources/**").addResourceLocations("/resources/");
}
@Bean
public InternalResourceViewResolver viewResolver() {
InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
viewResolver.setViewClass(JstlView.class);
viewResolver.setPrefix("/WEB-INF/jsp/");
viewResolver.setSuffix(".jsp");
return viewResolver;
}
}
public class MyWebInitializer extends
AbstractAnnotationConfigDispatcherServletInitializer {
@Override
protected Class<?>[] getServletConfigClasses() {
return new Class[] { };
}
@Override
protected String[] getServletMappings() {
return new String[] { "/" };
}
@Override
protected Class<?>[] getRootConfigClasses() {
return new Class[] { SpringWebConfig.class };
}
}
@Controller
public class HelloController {
@RequestMapping(value = "/qwerty", method = RequestMethod.GET)
public String printWelcome() {
return "qwerty";
}
}
先谢谢您了:)
答案 0 :(得分:0)
只是分享我可能对您有帮助的案例。
我也将带有 JSP 的 springmvc servlet 作为前端部署到 IBM WAS 8.5。 我有来自服务器的相同调试信息,但它不影响性能。
我在 servlet.xml 中的 internalViewResolver 和 resourceHandler 设置仍然有效。
[21/4/21 11:11:38:003 SGT] 000000a4 webapp I com.ibm.ws.webcontainer.webapp.WebApp log SRVE0292I: Servlet Message - [BP13BWDbPocWeb_war#BP13BWDbPocWeb.war]:.No Spring WebApplicationInitializer types detected on classpath
[21/4/21 11:11:38:015 SGT] 000000a4 webapp I com.ibm.ws.webcontainer.webapp.WebApp log SRVE0292I: Servlet Message - [BP13BWDbPocWeb_war#BP13BWDbPocWeb.war]:.Initializing Spring root WebApplicationContext
[21/4/21 11:11:38:016 SGT] 000000a4 ContextLoader I org.springframework.web.context.ContextLoader initWebApplicationContext Root WebApplicationContext: initialization started
答案 1 :(得分:-1)
我的猜测(我尚未尝试过)是您依赖@Configuration和 @ComponentScan({“” com.demo“})可以对Spring应用程序进行注解扫描。当您将应用程序作为war文件运行时,魔术不会发生这种情况。
具体来说,在下面的文档中,您缺少一个SpringBootServletInitializer,它定义了一个configure方法来告诉支持容器它需要扫描哪些类来查找注释:
HTH