2017-07-09 19 views
-1

私はmvcコントローラ(/にマップされています)でspringbootアプリケーションを持っています。このアプリケーションをIdeaから直接実行すると(mavenプラグインが使用されています)、すべて正常です。このアプリケーションがwarファイルにパッケージ化され、外部のtomcatに直接置かれても問題はありません。しかし、アプリケーションがjarファイルにパッケージ化されてjar(java -jar fineName.jar)のように実行されると、404エラーが表示されます(予期しないエラータイプ=見つからない、status = 404 /WEB-INF/pages/login.html)が、login.htmlファイル存在する。このエラーの原因は何か説明できますか?埋め込みTomcatがコントローラを見つけることができません

@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ファイルの名前を返します。

+0

サーバー側の例外を提供できますか? – ThrawnCA

答えて

関連する問題