我在搜索领域有一些谷歌关于我的问题,但我没有得到解决方案。在spring项目(不启动)中通过maven创建intellij想法我设置了所有东西(见下文),如tomcat配置,java配置简单helloWorld等...但是:我得到的结果只有爆炸战争而不是欢迎目录:我在localhost:8080(不是在localhost:8080 / welcome)看到它。 如果我将工件设置为战争,我会得到通常的tomcat主页,而不是我的项目。
下面的代码片段:
控制器:
package com.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class HomeController {
@RequestMapping("/")
public String welcome(Model model){
model.addAttribute("hello", "Hello");
model.addAttribute("anyone", "anyone");
return "welcome";
}
}
WebApplicationContextConfig:
package com.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer; import org.springframework.web.servlet.config.annotation.EnableWebMvc; import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; import org.springframework.web.servlet.view.InternalResourceViewResolver; import org.springframework.web.servlet.view.JstlView; @Configuration @EnableWebMvc @ComponentScan("com") public class WebAppContextConfig extends WebMvcConfigurerAdapter { @Override public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) { configurer.enable(); } @Bean public InternalResourceViewResolver getInternalViewResolver(){ InternalResourceViewResolver resolver = new InternalResourceViewResolver(); resolver.setViewClass(JstlView.class); resolver.setPrefix("/pages/"); resolver.setSuffix(".jsp"); return resolver; } }
package com.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer; import org.springframework.web.servlet.config.annotation.EnableWebMvc; import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; import org.springframework.web.servlet.view.InternalResourceViewResolver; import org.springframework.web.servlet.view.JstlView; @Configuration @EnableWebMvc @ComponentScan("com") public class WebAppContextConfig extends WebMvcConfigurerAdapter { @Override public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) { configurer.enable(); } @Bean public InternalResourceViewResolver getInternalViewResolver(){ InternalResourceViewResolver resolver = new InternalResourceViewResolver(); resolver.setViewClass(JstlView.class); resolver.setPrefix("/pages/"); resolver.setSuffix(".jsp"); return resolver; } }
DispatcherServletInitializer:
的pom.xml:
package com.config;
import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;
public class DispatcherServletInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
@Override
protected Class<?>[] getRootConfigClasses() {
return null;
}
@Override
protected Class<?>[] getServletConfigClasses() {
return new Class[]{WebAppContextConfig.class};
}
@Override
protected String[] getServletMappings() {
return new String[]{"/"};
}
}
答案 0 :(得分:0)
我建议你不要打扰自己使用Spring配置文件,并使用已经为你配置的Spring Boot。
例如,这个'hello world'样本应该做你想做的事:https://github.com/pgrimard/spring-boot-hello-world
另外,请考虑http://start.spring.io/生成项目的骨架。