2015-12-03 127 views
0

我無法使用以下配置加載home.html。控制器總是重定向到src/main/resources/templates/error.html。可能是什麼問題? 我還包括thymleaf依賴在我的pom中,通過一個這樣的建議。 配置類:春季啓動:無法加載視圖

@SpringBootApplication 
@ComponentScan("com.sg.repository.") 
public class SgmembersApplication { 


    public static void main(String[] args) 
    { 
     SpringApplication.run(SgmembersApplication.class, args); 
    } 


    @Bean 
    public SessionFactory sessionFactory(HibernateEntityManagerFactory hemf) { 
     return hemf.getSessionFactory(); 
    } 
} 

的src /主/資源/模板/ home.html的

<!DOCTYPE HTML> 
<html> 
    <head> 
    <title>Members</title> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
    </head> 
    <body> 
    <label> This is home page</label>  
    </body> 
</html>  

控制器:

@Controller 
public class MainController { 


    @RequestMapping("/") 
    public String getHomePage() { 
     return "home"; 
    } 

    @RequestMapping("/error") 
    public String getErrorPage() { 
     return "error"; 
    } 

application.properties

# Database 
spring.datasource.driverClassName: com.mysql.jdbc.Driver 
spring.datasource.url: jdbc:mysql://localhost:3306/sg 
spring.datasource.username: 
spring.datasource.password: 

# Hibernate 
spring.jpa.database-platform=org.hibernate.dialect.MySQLDialect 
spring.jpa.properties.hibernate.current_session_context_class=org.springframework.orm.hibernate4.SpringSessionContext 

#tomcat bind address 
server.port=8181 

相關控制檯跟蹤:

2015-12-03 17:52:52.744 INFO 16720 --- [ost-startStop-1] o.s.b.c.e.ServletRegistrationBean  : Mapping servlet: 'dispatcherServlet' to [/] 
2015-12-03 17:52:52.747 INFO 16720 --- [ost-startStop-1] o.s.b.c.embedded.FilterRegistrationBean : Mapping filter: 'metricFilter' to: [/*] 
2015-12-03 17:52:52.747 INFO 16720 --- [ost-startStop-1] o.s.b.c.embedded.FilterRegistrationBean : Mapping filter: 'characterEncodingFilter' to: [/*] 
2015-12-03 17:52:52.747 INFO 16720 --- [ost-startStop-1] o.s.b.c.embedded.FilterRegistrationBean : Mapping filter: 'hiddenHttpMethodFilter' to: [/*] 
2015-12-03 17:52:52.747 INFO 16720 --- [ost-startStop-1] o.s.b.c.embedded.FilterRegistrationBean : Mapping filter: 'httpPutFormContentFilter' to: [/*] 
2015-12-03 17:52:52.747 INFO 16720 --- [ost-startStop-1] o.s.b.c.embedded.FilterRegistrationBean : Mapping filter: 'requestContextFilter' to: [/*] 
2015-12-03 17:52:52.747 INFO 16720 --- [ost-startStop-1] o.s.b.c.embedded.FilterRegistrationBean : Mapping filter: 'webRequestLoggingFilter' to: [/*] 
2015-12-03 17:52:52.747 INFO 16720 --- [ost-startStop-1] o.s.b.c.embedded.FilterRegistrationBean : Mapping filter: 'applicationContextIdFilter' to: [/*] 
2015-12-03 17:52:53.181 INFO 16720 --- [   main] j.LocalContainerEntityManagerFactoryBean : Building JPA container EntityManagerFactory for persistence unit 'default' 
2015-12-03 17:52:53.194 INFO 16720 --- [   main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [ 


2015-12-03 17:52:54.041 INFO 16720 --- [   main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error],produces=[text/html]}" onto public org.springframework.web.servlet.ModelAndView org.springframework.boot.autoconfigure.web.BasicErrorController.errorHtml(javax.servlet.http.HttpServletRequest) 
2015-12-03 17:52:54.042 INFO 16720 --- [   main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error]}" onto public org.springframework.http.ResponseEntity<java.util.Map<java.lang.String, java.lang.Object>> org.springframework.boot.autoconfigure.web.BasicErrorController.error(javax.servlet.http.HttpServletRequest) 
2015-12-03 17:52:54.067 INFO 16720 --- [   main] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler] 
2015-12-03 17:52:54.067 INFO 16720 --- [   main] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/webjars/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler] 
2015-12-03 17:52:54.108 INFO 16720 --- [   main] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/**/favicon.ico] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler] 
2015-12-03 17:52:54.399 INFO 16720 --- [   main] roperties$SimpleAuthenticationProperties : 


2015-12-03 17:52:55.011 INFO 16720 --- [   main] o.s.b.a.e.mvc.EndpointHandlerMapping  : Mapped "{[/health || /health.json],produces=[application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.HealthMvcEndpoint.invoke(java.security.Principal) 
2015-12-03 17:52:55.011 INFO 16720 --- [   main] o.s.b.a.e.mvc.EndpointHandlerMapping  : Mapped "{[/configprops || /configprops.json],methods=[GET],produces=[application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke() 
2015-12-03 17:52:55.012 INFO 16720 --- [   main] o.s.b.a.e.mvc.EndpointHandlerMapping  : Mapped "{[/metrics/{name:.*}],methods=[GET],produces=[application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.MetricsMvcEndpoint.value(java.lang.String) 
2015-12-03 17:52:55.012 INFO 16720 --- [   main] o.s.b.a.e.mvc.EndpointHandlerMapping  : Mapped "{[/metrics || /metrics.json],methods=[GET],produces=[application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke() 
2015-12-03 17:52:55.012 INFO 16720 --- [   main] o.s.b.a.e.mvc.EndpointHandlerMapping  : Mapped "{[/beans || /beans.json],methods=[GET],produces=[application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke() 
2015-12-03 17:52:55.013 INFO 16720 --- [   main] o.s.b.a.e.mvc.EndpointHandlerMapping  : Mapped "{[/autoconfig || /autoconfig.json],methods=[GET],produces=[application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke() 
2015-12-03 17:52:55.014 INFO 16720 --- [   main] o.s.b.a.e.mvc.EndpointHandlerMapping  : Mapped "{[/trace || /trace.json],methods=[GET],produces=[application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke() 
2015-12-03 17:52:55.015 INFO 16720 --- [   main] o.s.b.a.e.mvc.EndpointHandlerMapping  : Mapped "{[/dump || /dump.json],methods=[GET],produces=[application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke() 
2015-12-03 17:52:55.015 INFO 16720 --- [   main] o.s.b.a.e.mvc.EndpointHandlerMapping  : Mapped "{[/env/{name:.*}],methods=[GET],produces=[application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EnvironmentMvcEndpoint.value(java.lang.String) 
2015-12-03 17:52:55.016 INFO 16720 --- [   main] o.s.b.a.e.mvc.EndpointHandlerMapping  : Mapped "{[/env || /env.json],methods=[GET],produces=[application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke() 
2015-12-03 17:52:55.016 INFO 16720 --- [   main] o.s.b.a.e.mvc.EndpointHandlerMapping  : Mapped "{[/info || /info.json],methods=[GET],produces=[application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke() 
2015-12-03 17:52:55.016 INFO 16720 --- [   main] o.s.b.a.e.mvc.EndpointHandlerMapping  : Mapped "{[/mappings || /mappings.json],methods=[GET],produces=[application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke() 

回答

1

發表您的代碼。更改組件掃描以掃描每個相關的軟件包,或僅掃描所有內容,例如然後@ComponentScan("com.sg.")

您的映射將設置正確:

s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/]}" onto public java.lang.String com.sg.members.controller.MainController.getHomePage() 

其他一些提示:Thymeleaf預計任何HTML的標籤可能再次被關閉。你的home.html會拋出一些錯誤,但通過關閉標籤很容易修復。 (例如<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css"/>。最後注意「/」。)

輸入,img和其他所有字段也是如此。

+0

你能告訴我們你的錯誤處理配置和你可能有的任何thymeleaf解析器嗎? – Lukehey

+0

我沒有使用任何解析器。在pom中只是一個thymleaf依賴項。 – Forkmohit

+0

和你的錯誤處理程序?什麼重定向到/錯誤? – Lukehey