【问题标题】:embedded tomcat cannot find controller嵌入式tomcat找不到控制器
【发布时间】:2017-07-09 22:16:44
【问题描述】:

我有带有 mvc 控制器的 springboot 应用程序(映射到 /)。当这个应用程序直接从 Idea(使用 maven 插件)执行时,一切正常。这个应用程序打包成war文件直接放到外部tomcat中也没有问题。但是当应用程序打包在 jar 文件中并像 jar (java -jar fineName.jar) 一样执行时,会出现 404 错误(出现意外错误类型=未找到,状态=404 /WEB-INF/pages/login.html)但登录。 html 文件存在。你能解释一下这个错误的原因吗?

@Controller
public class LoginController {

@Autowired
LoginService loginService;

@RequestMapping(value ={"/", "/login"}, method = RequestMethod.GET)
public String login() {
    return loginService.getLinkStartPage();
}

@RequestMapping(value="/logout", method = RequestMethod.GET)
public String logout(HttpServletRequest request, HttpServletResponse response) {
    loginService.logout(request,response);
    return "login";
}
}    

MVC 配置

@Configuration
@EnableWebMvc
public class WebMvcConfig extends WebMvcConfigurerAdapter{

@Override
public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
    configurer.enable();
}

@Bean
public InternalResourceViewResolver viewResolver() {
    InternalResourceViewResolver resolver = new InternalResourceViewResolver();
    resolver.setPrefix("/WEB-INF/pages/");
    resolver.setSuffix(".html");
    return resolver;
}

loginService.getLinkStartPage() - 只返回基于安全授权的html文件名。

springboot - 1.5.1.RELEASE

服务器端有异常:

【问题讨论】:

  • 能否提供服务端异常?

标签: java tomcat spring-boot


【解决方案1】:
猜你喜欢
  • 2016-10-16
  • 2018-04-22
  • 2023-03-04
  • 1970-01-01
  • 1970-01-01
  • 2014-04-28
  • 1970-01-01
  • 2015-10-13
  • 2012-04-28
相关资源
最近更新 更多