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

回答編集履歴

3

Tomcat で動作するよう if の条件を修正。

2020/05/23 08:37

投稿

Yasumichi
Yasumichi

スコア1773

answer CHANGED
@@ -13,7 +13,7 @@
13
13
  ```jsp
14
14
  <div>
15
15
  <%
16
- if (request.getMethod() == "POST") {
16
+ if (request.getMethod().equalsIgnoreCase("POST")) {
17
17
  request.setCharacterEncoding("UTF-8");
18
18
  Enumeration<String> names = (Enumeration<String>) request.getParameterNames();
19
19
  while (names.hasMoreElements()) {
@@ -48,8 +48,8 @@
48
48
  </form>
49
49
  <div>
50
50
  <%
51
- // POST で呼ばれたときは、押されたボタンを説明する
51
+ // POST で呼ばれたときは、押されたボタンを説明する
52
- if (request.getMethod() == "POST") {
52
+ if (request.getMethod().equalsIgnoreCase("POST")) {
53
53
  request.setCharacterEncoding("UTF-8");
54
54
  Enumeration<String> names = (Enumeration<String>) request.getParameterNames();
55
55
  while (names.hasMoreElements()) {

2

細かい解説を追記。

2020/05/23 08:37

投稿

Yasumichi
Yasumichi

スコア1773

answer CHANGED
@@ -13,8 +13,7 @@
13
13
  ```jsp
14
14
  <div>
15
15
  <%
16
- // POST で呼ばれたときは、押されたボタンを説明する
17
- if (request.getMethod() == "POST") {
16
+ if (request.getMethod() == "POST") {
18
17
  request.setCharacterEncoding("UTF-8");
19
18
  Enumeration<String> names = (Enumeration<String>) request.getParameterNames();
20
19
  while (names.hasMoreElements()) {
@@ -50,7 +49,7 @@
50
49
  <div>
51
50
  <%
52
51
  // POST で呼ばれたときは、押されたボタンを説明する
53
- if (request.getMethod() == "POST") {
52
+ if (request.getMethod() == "POST") {
54
53
  request.setCharacterEncoding("UTF-8");
55
54
  Enumeration<String> names = (Enumeration<String>) request.getParameterNames();
56
55
  while (names.hasMoreElements()) {
@@ -62,4 +61,29 @@
62
61
  </div>
63
62
  </body>
64
63
  </html>
65
- ```
64
+ ```
65
+
66
+ 【解説】
67
+ ```java
68
+ if (request.getMethod() == "POST") {
69
+ ```
70
+
71
+ でリクエストの HTTP メソッドが「POST」かどうかを確認しています。
72
+
73
+ ```java
74
+ request.setCharacterEncoding("UTF-8");
75
+ ```
76
+
77
+ でリクエストの CharacterEncoding を指定することにより、文字化けを防いでいます。
78
+
79
+ ```java
80
+ Enumeration<String> names = (Enumeration<String>) request.getParameterNames();
81
+ ```
82
+
83
+ でパラメーター名の Enumeration を取得しています。
84
+
85
+ ```java
86
+ while (names.hasMoreElements()) {
87
+ ```
88
+
89
+ でまだ、パラメーターが残っていれば、繰り返すブロックを構成しています。

1

コメントが中途半端になっていので修正。

2020/05/23 06:36

投稿

Yasumichi
Yasumichi

スコア1773

answer CHANGED
@@ -13,7 +13,7 @@
13
13
  ```jsp
14
14
  <div>
15
15
  <%
16
- // POST で呼ばれたときは、押されたボタンを
16
+ // POST で呼ばれたときは、押されたボタンを説明する
17
17
  if (request.getMethod() == "POST") {
18
18
  request.setCharacterEncoding("UTF-8");
19
19
  Enumeration<String> names = (Enumeration<String>) request.getParameterNames();
@@ -49,7 +49,7 @@
49
49
  </form>
50
50
  <div>
51
51
  <%
52
- // POST で呼ばれたときは、押されたボタンを
52
+ // POST で呼ばれたときは、押されたボタンを説明する
53
53
  if (request.getMethod() == "POST") {
54
54
  request.setCharacterEncoding("UTF-8");
55
55
  Enumeration<String> names = (Enumeration<String>) request.getParameterNames();