質問編集履歴

3

コードを変更しました。

2018/07/08 05:29

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -228,37 +228,11 @@
228
228
 
229
229
  <%@ page language="java" contentType="text/html; charset=Windows-31J"
230
230
 
231
- pageEncoding="Windows-31J" %>
231
+ pageEncoding="Windows-31J"%>
232
232
 
233
233
  <%@ page import="java.util.ArrayList"%>
234
234
 
235
-
236
-
237
-
238
-
239
- <%
240
-
241
- ArrayList<String> error = (ArrayList<String>) request.getAttribute("error");
242
-
243
- if(error != null) {
244
-
245
- for(int i = 0; i < error.size(); i++){
246
-
247
- %>
248
-
249
- <%=error.get(i) %>
235
+ </head>
250
-
251
- <%
252
-
253
- }
254
-
255
- %>
256
-
257
- <%
258
-
259
- }
260
-
261
- %>
262
236
 
263
237
 
264
238
 
@@ -266,24 +240,44 @@
266
240
 
267
241
  <body>
268
242
 
269
- <form action="/gyomuhokoku/LoginServlet" method="post">
243
+ <form action="/gyomuhokoku/LoginServlet" method="post">
270
-
244
+
271
- <h1>ログイン</h1>
245
+ <h1>ログイン</h1>
246
+
272
-
247
+ <%
248
+
249
+ ArrayList<String> error = (ArrayList<String>) request.getAttribute("error");
250
+
251
+ if (error != null) {
252
+
273
- <span id="input_error"></span>
253
+ for (int i = 0; i < error.size(); i++) {
254
+
274
-
255
+ %>
256
+
257
+ <%=error.get(i)%>
258
+
259
+ <%
260
+
261
+ }
262
+
263
+ %>
264
+
265
+ <%
266
+
267
+ }
268
+
269
+ %>
270
+
275
- ユーザーID:<input type="text" name="userId" id="notice-input-1"> <br>
271
+ ユーザーID:<input type="text" name="userId" id="notice-input-1"> <br>
276
-
272
+
277
- パスワード:<input type="text" name="pass" id="notice-input-2"> <br>
273
+ パスワード:<input type="text" name="pass" id="notice-input-2"> <br>
278
-
274
+
279
- <button type=submit>ログイン</button>
275
+ <button type=submit>ログイン</button>
280
-
276
+
281
- </form>
277
+ </form>
282
278
 
283
279
  </body>
284
280
 
285
281
  </html>
286
282
 
287
-
288
-
289
283
  ```

2

コメントをいただき、コードを変更しました。

2018/07/08 05:29

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -14,7 +14,11 @@
14
14
 
15
15
 
16
16
 
17
- org.apache.jasper.JasperException: An exception occurred processing [WEB-INF/Login.jsp] at line [12]と表示されます。
17
+ org.apache.jasper.JasperException: An exception occurred processing [WEB-INF/Login.jsp] at line [12]と表示されます。→コメント頂いて、エラーにはなりません。
18
+
19
+
20
+
21
+ でも、肝心のエラーが表示されません.......なぜなんでしょうか.....
18
22
 
19
23
 
20
24
 
@@ -232,24 +236,32 @@
232
236
 
233
237
 
234
238
 
235
-
236
-
237
239
  <%
238
240
 
239
241
  ArrayList<String> error = (ArrayList<String>) request.getAttribute("error");
240
242
 
243
+ if(error != null) {
244
+
241
- for(int i = 0; i < error.size(); i++){
245
+ for(int i = 0; i < error.size(); i++){
242
246
 
243
247
  %>
244
248
 
245
- <%=error.get(i) %>
249
+ <%=error.get(i) %>
246
250
 
247
251
  <%
248
252
 
249
- }
253
+ }
250
254
 
251
255
  %>
252
256
 
257
+ <%
258
+
259
+ }
260
+
261
+ %>
262
+
263
+
264
+
253
265
 
254
266
 
255
267
  <body>
@@ -272,4 +284,6 @@
272
284
 
273
285
  </html>
274
286
 
287
+
288
+
275
289
  ```

1

アドバイスを元にコードを変更しました。

2018/07/08 05:16

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -8,17 +8,19 @@
8
8
 
9
9
 
10
10
 
11
- どなたかわかる方、教えていただけないでしょうか。
11
+ どなたかわかる方、教えていただけないでしょうか。→GETしたときは、表示されました。
12
+
13
+ しかし、POSTしてきたときにエラーになります。
14
+
15
+
16
+
17
+ org.apache.jasper.JasperException: An exception occurred processing [WEB-INF/Login.jsp] at line [12]と表示されます。
12
18
 
13
19
 
14
20
 
15
21
  ```java
16
22
 
17
- //LoginServlet.java
23
+ LoginServlet.java
18
-
19
-
20
-
21
-
22
24
 
23
25
 
24
26
 
@@ -74,6 +76,8 @@
74
76
 
75
77
  ArrayList<String> error = new ArrayList<>();
76
78
 
79
+ request.setAttribute("error", error);
80
+
77
81
  error.add("");
78
82
 
79
83
 
@@ -120,6 +124,8 @@
120
124
 
121
125
  error.add("ログインIDを入力してください。");
122
126
 
127
+ request.setAttribute("error", error);
128
+
123
129
  RequestDispatcher dispatcher = request.getRequestDispatcher("/WEB-INF/Login.jsp");
124
130
 
125
131
  dispatcher.forward(request, response);
@@ -128,19 +134,85 @@
128
134
 
129
135
  error.add("パスワードを入力してください。");
130
136
 
137
+ request.setAttribute("error", error);
138
+
131
139
  RequestDispatcher dispatcher = request.getRequestDispatcher("/WEB-INF/Login.jsp");
132
140
 
133
141
  dispatcher.forward(request, response);
134
142
 
135
143
  }
136
144
 
145
+
146
+
147
+ //ログイン処理の実行
148
+
149
+ Login rs = new Login();
150
+
151
+ rs.setUserId(userId);
152
+
153
+ rs.setPass(pass);
154
+
155
+ AccountLogic bo = new AccountLogic();
156
+
157
+ boolean result = bo.execute(rs);
158
+
159
+
160
+
161
+ //ログインの成否によって処理を分岐
162
+
163
+
164
+
165
+
166
+
167
+
168
+
169
+ if (result) { //ログイン成功時
170
+
171
+
172
+
173
+ //セッションスコープにユーザーIDを保存
174
+
175
+ HttpSession session = request.getSession();
176
+
177
+ session.setAttribute("userId", userId);
178
+
179
+
180
+
181
+ //フォワード
182
+
183
+ RequestDispatcher dispatcher = request.getRequestDispatcher("/ListScreen");
184
+
185
+ dispatcher.forward(request, response);
186
+
187
+ } else {
188
+
189
+ //ログイン失敗時
190
+
191
+ //
192
+
193
+
194
+
195
+ RequestDispatcher dispatcher = request.getRequestDispatcher("/WEB-INF/Login.jsp");
196
+
197
+ dispatcher.forward(request, response);
198
+
199
+
200
+
201
+ }
202
+
203
+ }
204
+
205
+ }
206
+
207
+
208
+
137
209
  ```
138
210
 
139
211
 
140
212
 
141
213
  ```java
142
214
 
143
- //Login.jsp
215
+ Login.jsp
144
216
 
145
217
 
146
218
 
@@ -182,13 +254,15 @@
182
254
 
183
255
  <body>
184
256
 
185
- <form action="/gyomuhokoku/LoginServlet">
257
+ <form action="/gyomuhokoku/LoginServlet" method="post">
186
258
 
187
259
  <h1>ログイン</h1>
188
260
 
261
+ <span id="input_error"></span>
262
+
189
- ユーザーID:<input type="text" name="userId"> <br>
263
+ ユーザーID:<input type="text" name="userId" id="notice-input-1"> <br>
190
-
264
+
191
- パスワード:<input type="text" name="pass"> <br>
265
+ パスワード:<input type="text" name="pass" id="notice-input-2"> <br>
192
266
 
193
267
  <button type=submit>ログイン</button>
194
268