ボールドテキスト### 実現したいこと
- http://locallhost:8080/fortune で表示させたい
- importさせたい
- アノテーションを使いif.elseif文をHTMLでreturnさせた【web占い】を作成したい
前提
Windows11
JAVA2022-Java17
Tomchat10.1.13
java version "19.0.2" 2023-01-17
Java(TM) SE Runtime Environment (build 19.0.2+7-44)
Java HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)
システム環境変数
JAVA_HOME_java\jdk-19.0.2
CATALINA_HOME tomcat10.1.13
CLASSPATH tomcat10.1.13-windows-64x\apache
◆エクリプスのTomCatを利用し、fortune.javaを実行中に以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled. [2m2023-09-24T14:29:39.982+09:00[0;39m [31mERROR[0;39m [35m15684[0;39m [2m---[0;39m [2m[ main][0;39m [36mo.s.b.d.LoggingFailureAnalysisReporter [0;39m [2m:[0;39m *************************** APPLICATION FAILED TO START *************************** Description: Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured. Reason: Failed to determine a suitable driver class Action: Consider the following: If you want an embedded database (H2, HSQL or Derby), please put it on the classpath. If you have database settings to be loaded from a particular profile you may need to activate it (no profiles are currently active).
エラーメッセージ翻訳
ApplicationContext の起動中にエラーが発生しました。状態評価レポートを表示するには、「デバッグ」を有効にしてアプリケーションを再実行します。 アプリケーションの起動に失敗しました *************************** 説明: データソースの構成に失敗しました:「url」属性が指定されていないため、埋め込みデータソースを構成できませんでした。 理由: 適切なドライバー クラスを決定できませんでした アクション:次のことを考慮してください。 組み込みデータベース (H2、HSQL、または Derby) が必要な場合は、それをクラスパスに配置してください。 特定のプロファイルからロードするデータベース設定がある場合は、それをアクティブ化する必要がある場合があります (現在アクティブなプロファイルはありません)。
該当のソースコード(HTMLソースコードは割愛の為、記載しておりません)
fortune.java
1package com.example.demo; 2 3import org.springframework.stereotype.Controller; 4import org.springframework.web.bind.annotation.GetMapping; 5 6@Controller //アノテーション 7public class fortune { 8 9 @GetMapping ("/fortune") 10 public String start() { 11 double fn = Math.random();//0.0~0.1の乱数 12 if(fn >=0.7) { 13 return"greatFortune.html"; 14 }else if (fn >=0.4) { 15 return "middleFortune.html"; 16 }else if (fn >=0.1) { 17 return "smallFortune.html"; 18 }else { 19 }return "misFortune.html"; 20 } 21 22} 23
試したこと
1.エクリプスに、そもそもTomCat機能が導入されているのに、手動でdownloadを行ったので2重に複合されてないか環境変数を確認しましたが「tomcat」が複数見た感じ見当たらない
2.進行状況確認:この時点では表示する操作はありません
localhostのサーバーを、Tomcat10(Java17)を再度追加したが変化なし
見解原因:serverが上手く接続されてないと思われるのですが、ほかに考えられる確認方法、原因と解決が分かりません。詳しい方猿でも分かるように説明頂けると幸いです。
![イメージ説明]削除済
説明に不明点や不十分な部分あればご指摘頂けると幸いです。
補足追加
buiid.gradle
1plugins { 2 id 'java' 3 id 'org.springframework.boot' version '3.1.4' 4 id 'io.spring.dependency-management' version '1.1.3' 5} 6 7group = 'com.example' 8version = '0.0.1-SNAPSHOT' 9 10java { 11 sourceCompatibility = '17' 12} 13 14configurations { 15 compileOnly { 16 extendsFrom annotationProcessor 17 } 18} 19 20repositories { 21 mavenCentral() 22} 23 24dependencies { 25 implementation 'org.springframework.boot:spring-boot-starter-data-jdbc' 26 implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' 27 implementation 'org.springframework.boot:spring-boot-starter-validation' 28 compileOnly 'org.projectlombok:lombok' 29 annotationProcessor 'org.projectlombok:lombok' 30 testImplementation 'org.springframework.boot:spring-boot-starter-test' 31} 32 33tasks.named('test') { 34 useJUnitPlatform() 35} 36
setting.gradile
1rootProject.name = 'Sample-spring' 2
fortune.java修正版
1package com.example.demo; 2 3import org.springframework.stereotype.Controller; 4import org.springframework.web.bind.annotation.GetMapping; 5import org.springframework.web.bind.annotation.RequestMapping; 6 7 8@Controller //アノテーション 9public class fortune { 10 11 @GetMapping("/fortune") 12 @RequestMapping // 13 public String start() { 14 double fn = Math.random();//0.0~0.1の乱数 15 if(fn >=0.7) { 16 return"greatFortune.html"; 17 }else if (fn >=0.4) { 18 return "middleFortune.html"; 19 }else if (fn >=0.1) { 20 return "smallFortune.html"; 21 }else { 22 }return "misFortune.html"; 23 } 24 25} 26
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2023/09/24 10:27 編集
2023/09/24 10:53
2023/09/24 13:59 編集
2023/09/25 04:47
2023/09/25 08:05
2023/09/25 09:02
2023/09/25 11:20 編集