質問するログイン新規登録

回答編集履歴

3

微修正

2025/07/19 06:44

投稿

jimbe
jimbe

スコア13359

answer CHANGED
@@ -1,6 +1,6 @@
1
1
  ※コードを実行して確認はしていません。
2
2
 
3
- ご存知とと思いますが、 Servlet → jsp のフォワードでのデータ受け渡しは HttpServletRequest オブジェクトの ```setAttribute``` と ```getAttribute``` の組み合わせで行いますが、区別は第一引数の文字列で行われます。
3
+ ご存知とと思いますが、 Servlet → jsp のフォワードでのデータ受け渡しは HttpServletRequest オブジェクトの ```setAttribute``` と ```getAttribute``` の組み合わせですが、データの区別は第一引数の文字列で行われます。
4
4
  その為、対応する set/get では同じ文字列にしなくてはなりません。
5
5
 
6
6
  ご提示の EmployeeController.java と index.jsp はそれぞれ
@@ -10,7 +10,7 @@
10
10
  となっており、名前(の大文字小文字)が同じではありません。
11
11
 
12
12
  また jdbc での接続を疑っておられるようですが、原因に複数の可能性がある場合は、それらを切り分けられるような方法で確認テストを行うことをお勧めします。
13
- 例えば EmployeeService クラス(の search メソッド) はサーブレットから呼ばなくても
13
+ 例えば EmployeeService クラス(の search メソッド) はサーブレットから呼ばなくても
14
14
  ```java
15
15
  public class EmployeeServiceTest {
16
16
  public static void main(String args[]) {
@@ -35,4 +35,4 @@
35
35
  ```
36
36
 
37
37
  コード内のコメントから何かの課題のようですが、提出するまではどのように弄っても大丈夫なのではないでしょうか。
38
- プログラムは途中幾ら弄っても最終的に出来いれば他人には分かりません。一部を取り出して動かして見るとか逆に一部を省略・置き換えて動かして見るとかはプロでも普通にやっていることですので、じゃんじゃん動かしてみてください。
38
+ プログラムは途中幾ら弄っても最終的に不要部分を消ししまえば他人には途中の試行錯誤等は分かりません。一部を取り出して動かして見るとか逆に一部を省略・置き換えて動かして見るとかはプロでも普通にやっていることですので、じゃんじゃん動かしてみてください。

2

追加

2025/07/18 17:47

投稿

jimbe
jimbe

スコア13359

answer CHANGED
@@ -1,7 +1,6 @@
1
1
  ※コードを実行して確認はしていません。
2
2
 
3
- ご存知とと思いますが、 Servlet → jsp のフォワードでのデータ受け渡しは HttpServletRequest オブジェクトの
3
+ ご存知とと思いますが、 Servlet → jsp のフォワードでのデータ受け渡しは HttpServletRequest オブジェクトの ```setAttribute``` と ```getAttribute``` の組み合わせで行いますが、区別は第一引数の文字列で行われます。
4
- setAttribute と getAttribute の組み合わせで行いますが、区別は第一引数の文字列で行われます。
5
4
  その為、対応する set/get では同じ文字列にしなくてはなりません。
6
5
 
7
6
  ご提示の EmployeeController.java と index.jsp はそれぞれ
@@ -20,5 +19,20 @@
20
19
  }
21
20
  }
22
21
  ```
23
- のようなアプリを作ってコマンドで実行してみれば動作確認は出来るはずです。
22
+ のようなテストアプリを作ってコマンドで実行してみれば動作確認は出来るはずです。
24
- データベースとの接続で問題があるならアプリでもエラーが出るはずですし、エラーにならなければ サーブレットに問題があるとなり、postgress の設定に問題があるのかと目視確認に時間を取られずに済みます。
23
+ データベースとの接続で問題があるならアプリでもエラーが出るはずですし、エラーにならなければ サーブレットに問題があるとなり、postgress の設定に問題があるのかと目視確認に時間を取られずに済みます。
24
+
25
+ また Servlet のほうは一時的に EmployeeService を使う部分をコメント化し直接 Bean を設定することで、index.jsp への動作を確認することが出来ます。
26
+ ```
27
+ :
28
+ // 問② EmployeeServiceクラスをインスタンス化してください。
29
+ //EmployeeService employeeservice = new EmployeeService();
30
+ // 問③ EmployeeBeanに、EmployeeServiceよりsearch関数を呼び出し、返り値を格納してください。
31
+ //EmployeeBean returndata = employeeservice.search(id,password);
32
+ EmployeeBean returndata = new EmployeeBean();
33
+ returndata.setName("YamadaTaro");
34
+ :
35
+ ```
36
+
37
+ コード内のコメントから何かの課題のようですが、提出するまではどのように弄っても大丈夫なのではないでしょうか。
38
+ プログラムは途中幾ら弄っても最終的に出来ていれば他人には分かりません。一部を取り出して動かして見るとか逆に一部を省略・置き換えて動かして見るとかはプロでも普通にやっていることですので、じゃんじゃん動かしてみてください。

1

修正

2025/07/18 17:31

投稿

jimbe
jimbe

スコア13359

answer CHANGED
@@ -1,13 +1,13 @@
1
1
  ※コードを実行して確認はしていません。
2
2
 
3
3
  ご存知とと思いますが、 Servlet → jsp のフォワードでのデータ受け渡しは HttpServletRequest オブジェクトの
4
- setAttribute と getAttribute の組み合わせで行いますが、区別は第一引数の名前で行われます。
4
+ setAttribute と getAttribute の組み合わせで行いますが、区別は第一引数の文字列で行われます。
5
- その為、名前は同じにしなくてはなりません。
5
+ その為、対応する set/get では同じ文字列にしなくてはなりません。
6
6
 
7
- ご提示の EmployeeController と index.jsp はそれぞれ
7
+ ご提示の EmployeeController.java と index.jsp はそれぞれ
8
- request.setAttribute("EmployeeBean", returndata);
8
+ ```request.setAttribute("EmployeeBean", returndata);```
9
9
 
10
- EmployeeBean employeeBean = (EmployeeBean) request.getAttribute("employeeBean");
10
+ ```EmployeeBean employeeBean = (EmployeeBean) request.getAttribute("employeeBean");```
11
11
  となっており、名前(の大文字小文字)が同じではありません。
12
12
 
13
13
  また jdbc での接続を疑っておられるようですが、原因に複数の可能性がある場合は、それらを切り分けられるような方法で確認テストを行うことをお勧めします。
@@ -16,7 +16,7 @@
16
16
  public class EmployeeServiceTest {
17
17
  public static void main(String args[]) {
18
18
  EmployeeService es = new EmployeeService();
19
- System.outprintln("bean=" + es.search("TamadaTaro", "javaman"));
19
+ System.out.println("bean=" + es.search("YamadaTaro", "javaman"));
20
20
  }
21
21
  }
22
22
  ```