2017-01-11 13 views
0

私はSpring Boot Application開発の新機能です。Springブートバージョン1.4.3リリース版を使用して簡単なSpringブートアプリケーションを実行しています。およびSpring 4.3.5.RELEASEバージョンです。私はMysqlデータベース設定の設定に成功しています。また、Spring Bootメインクラスの実行中にテーブルが作成されます。以下はSpring Boot 1.4.3リリース版とSpring 4.3.5.RELEASE版を使用してJspページを読み込めません。

春ブーツプロジェクトのディレクトリ構造です:

SpringBootApp[boot] 
src/main/java 
    -config 
    -controller 
    -dto 
    -entity 
    -repository 
    -service 
src/main/resources 
    -application.properties 
src/test/java 
src/main/webapp 
       /recources/css 
       /resources/images 
       /resources/js 
       /WEB-INF/view/jsp/main.jsp 

私は、データソースの作成、JPAトランザクション管理などのDB関連の機能性を有するDBConfig.javaファイルを作成しました。以下は

WebMVCの設定ファイルである:以下

@EnableWebMvc 
    @Configuration 
    @Import(DBConfig.class) 
    @ComponentScan(basePackages = { "com.tms" }) 
    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/view/"); 
      viewResolver.setSuffix(".jsp"); 
      return viewResolver; 
     } 

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

アプリケーションコンテキスト初期化ファイルです:

public class WebAppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer { 

     @Override 
     protected Class<?>[] getRootConfigClasses() { 
      return new Class[] { DBConfig.class }; 
     } 
     @Override 
     protected Class<?>[] getServletConfigClasses() { 
      return new Class[] { SpringWebConfig.class }; 
     } 
     @Override 
     protected String[] getServletMappings() { 
      return new String[] { "/" }; 
     } 

    } 

私もJSPページを検索すると、無効にするapplication.propertiesファイル内のコードの行の下に追加タイリーリーフテンプレート。以下は

spring.mvc.view.prefix: /WEB-INF/jsp/ 
spring.mvc.view.suffix: .jsp 
spring.thymeleaf.check-template-location=false 

春コントローラJavaファイルです:JSPのサンプル・ページの下

@RequestMapping("/") 
public class IndexController { 

    @RequestMapping(method = RequestMethod.GET) 
    public String printWelcome(ModelMap model) { 
     model.addAttribute("title", "Hello world!"); 
     return "main"; 
    } 
} 

/WEB-INF/jsp/main.jsp 

    <%@taglib uri="http://www.springframework.org/tags/form" prefix="form"%> 
    <html> 
    <head> 
    <title>Spring Boot</title> 
    </head> 
    <body> 

     <h2>Test Page</h2> 
     <table> 
      <tr> 
       <td>Title</td> 
       <td>${title}</td> 
      </tr> 

     </table> 
    </body> 
    </html> 

春ブートアプリケーションが正常に開始されます。私は、ブラウザでURL http://localhost:8080/を入力すると

2017-01-12 04:22:57.501[0;39m [32m INFO[0;39m [35m4968[0;39m [2m---[0;39m [2m[   main][0;39m [36morg.hibernate.tool.hbm2ddl.SchemaUpdate [0;39m [2m:[0;39m HHH000228: Running hbm2ddl schema update 
[2m2017-01-12 04:22:57.677[0;39m [32m INFO[0;39m [35m4968[0;39m [2m---[0;39m [2m[   main][0;39m [36mj.LocalContainerEntityManagerFactoryBean[0;39m [2m:[0;39m Initialized JPA EntityManagerFactory for persistence unit 'jpaUnit' 
[2m2017-01-12 04:22:58.392[0;39m [32m INFO[0;39m [35m4968[0;39m [2m---[0;39m [2m[   main][0;39m [36ms.w.s.m.m.a.RequestMappingHandlerMapping[0;39m [2m:[0;39m Mapped "{[/book]}" onto public org.springframework.http.ResponseEntity<java.util.List<com.tms.dto.BookDto>> com.tms.controller.BookController.getAllBooks() 
[2m2017-01-12 04:22:58.400[0;39m [32m INFO[0;39m [35m4968[0;39m [2m---[0;39m [2m[   main][0;39m [36ms.w.s.m.m.a.RequestMappingHandlerMapping[0;39m [2m:[0;39m 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) 
[2m2017-01-12 04:22:58.401[0;39m [32m INFO[0;39m [35m4968[0;39m [2m---[0;39m [2m[   main][0;39m [36ms.w.s.m.m.a.RequestMappingHandlerMapping[0;39m [2m:[0;39m Mapped "{[/error],produces=[text/html]}" onto public org.springframework.web.servlet.ModelAndView org.springframework.boot.autoconfigure.web.BasicErrorController.errorHtml(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse) 
[2m2017-01-12 04:22:58.466[0;39m [32m INFO[0;39m [35m4968[0;39m [2m---[0;39m [2m[   main][0;39m [36mo.s.w.s.handler.SimpleUrlHandlerMapping [0;39m [2m:[0;39m Mapped URL path [/resources/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler] 
[2m2017-01-12 04:22:58.476[0;39m [32m INFO[0;39m [35m4968[0;39m [2m---[0;39m [2m[   main][0;39m [36mo.s.w.s.handler.SimpleUrlHandlerMapping [0;39m [2m:[0;39m Mapped URL path [/**] onto handler of type [class org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler] 
[2m2017-01-12 04:22:58.596[0;39m [32m INFO[0;39m [35m4968[0;39m [2m---[0;39m [2m[   main][0;39m [36ms.w.s.m.m.a.RequestMappingHandlerAdapter[0;39m [2m:[0;39m Looking for @ControllerAdvice: org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationCon[email protected]: startup date [Thu Jan 12 04:22:49 IST 2017]; root of context hierarchy 
[2m2017-01-12 04:23:00.111[0;39m [32m INFO[0;39m [35m4968[0;39m [2m---[0;39m [2m[   main][0;39m [36mo.s.j.e.a.AnnotationMBeanExporter  [0;39m [2m:[0;39m Registering beans for JMX exposure on startup 
[2m2017-01-12 04:23:00.265[0;39m [32m INFO[0;39m [35m4968[0;39m [2m---[0;39m [2m[   main][0;39m [36ms.b.c.e.t.TomcatEmbeddedServletContainer[0;39m [2m:[0;39m Tomcat started on port(s): 8080 (http) 
[2m2017-01-12 04:23:00.276[0;39m [32m INFO[0;39m [35m4968[0;39m [2m---[0;39m [2m[   main][0;39m [36mcom.tms.config.App      [0;39m [2m:[0;39m Started App in 12.241 seconds (JVM running for 13.221) 
[2m2017-01-12 04:23:01.999[0;39m [32m INFO[0;39m [35m4968[0;39m [2m---[0;39m [2m[nio-8080-exec-1][0;39m [36mo.a.c.c.C.[Tomcat].[localhost].[/]  [0;39m [2m:[0;39m Initializing Spring FrameworkServlet 'dispatcherServlet' 
[2m2017-01-12 04:23:02.000[0;39m [32m INFO[0;39m [35m4968[0;39m [2m---[0;39m [2m[nio-8080-exec-1][0;39m [36mo.s.web.servlet.DispatcherServlet  [0;39m [2m:[0;39m FrameworkServlet 'dispatcherServlet': initialization started 
[2m2017-01-12 04:23:02.040[0;39m [32m INFO[0;39m [35m4968[0;39m [2m---[0;39m [2m[nio-8080-exec-1][0;39m [36mo.s.web.servlet.DispatcherServlet  [0;39m [2m:[0;39m FrameworkServlet 'dispatcherServlet': initialization completed in 40 ms 

が、それはメッセージの下に与える:以下

は、STSコンソール出力である私は、メッセージの下に表示されますbrowseritで http://localhost:8080/SpringBootApp/ URLを試してみました。また
Whitelabel Error Page 
This application has no explicit mapping for /error, so you are seeing this as a fallback. 
Thu Jan 12 04:24:27 IST 2017 
There was an unexpected error (type=Not Found, status=404). 

Whitelabel Error Page 
This application has no explicit mapping for /error, so you are seeing this as a fallback. 
Thu Jan 12 04:33:26 IST 2017 
There was an unexpected error (type=Not Found, status=404). 
/SpringBootApp/ 

エラーメッセージは印刷されません。 STSコンソール。

I would be thankful if anybody have solution/ to suggest other approach for the same. 
+1

viewResolver.setPrefix("/WEB-INF/view/jsp/");

に 'WebAppInitializer'を削除し、' SpringWebConfig'を削除...あなたはすでにすべてのことの世話をする春のブートを使用しています。おそらく 'application.properties'に適切な設定を追加することによって' DBConfig'を削除することもできます...スプリングブートはすでにあなたのためにすべての自動設定を行います。それをやり直す必要はありません。 –

+0

リンク "http://websystique.com/spring-boot/spring-boot-angularjs-spring-data-jpa-crud-app-example/"を参照すると、最終的に達成されます。 – datta

答えて

0

あなたのビューは/ view/jsp /にありますが、あなたのビューリゾルバは/ view /としか言いません。また、application.propertiesとコードの両方で設定を行うのは間違っているようです。

最近、私は個人的にはサーバ側のレンダリングにThymeleafを使用していました。

+0

あなたのコメントをありがとう私はまた、プロジェクト構造/ WEB-INF/view /と同様に、構成ファイルと.propertiesファイルと同様の変更を行います。まだJSPはロードされず、ブラウザにも同じエラーメッセージが表示されます。 – datta

0

変更

viewResolver.setPrefix("/WEB-INF/view/");

+0

jspページの接頭辞と接尾辞についても、プロジェクト構造、構成ファイル、application.propertiesファイルに同じ変更を行いますが、ブラウザにも同じ問題が表示されます。追加の構成があれば私に教えてください。 – datta

+0

リンク "http://websystique.com/spring-boot/spring-boot-angularjs-spring-data-jpa-crud-app-example/"を参照すると、最終的に達成されます。 – datta

関連する問題