質問編集履歴

6

タイトルの変更

2020/04/24 05:24

投稿

shimchan1010
shimchan1010

スコア6

test CHANGED
@@ -1 +1 @@
1
- セッションスコープの受け渡しつい
1
+ セッションスコープに値を保存しているはずなのに、NullPointerエラーが出しまう。
test CHANGED
File without changes

5

2020/04/24 05:24

投稿

shimchan1010
shimchan1010

スコア6

test CHANGED
File without changes
test CHANGED
@@ -18,6 +18,10 @@
18
18
 
19
19
 
20
20
 
21
+ お願いします、助けてください。
22
+
23
+
24
+
21
25
  ### 発生している問題・エラーメッセージ
22
26
 
23
27
  ```

4

2020/04/24 05:22

投稿

shimchan1010
shimchan1010

スコア6

test CHANGED
File without changes
test CHANGED
@@ -14,6 +14,10 @@
14
14
 
15
15
 
16
16
 
17
+ 謎が多いです。やれることはやったのですが、解決できません。
18
+
19
+
20
+
17
21
  ### 発生している問題・エラーメッセージ
18
22
 
19
23
  ```

3

詳細を付け加えました

2020/04/24 04:48

投稿

shimchan1010
shimchan1010

スコア6

test CHANGED
File without changes
test CHANGED
@@ -678,6 +678,10 @@
678
678
 
679
679
 
680
680
 
681
+ session.setAttribute("userbeanses", ub)で値を設定後、別のサーブレットでUserBean ub = (UserBean) session.getAttribute("userbeanses");するとnullになってしまう理由が理解できません....(get/setしているはずなのに)
682
+
683
+
684
+
681
685
  多数の長いソースコードを張り付けて申し訳ありませんがご協力本当によろしくお願いいたします。
682
686
 
683
687
 

2

マークダウンに変更

2020/04/24 02:16

投稿

shimchan1010
shimchan1010

スコア6

test CHANGED
File without changes
test CHANGED
@@ -16,6 +16,12 @@
16
16
 
17
17
  ### 発生している問題・エラーメッセージ
18
18
 
19
+ ```
20
+
21
+ HTTPステータス 500 -
22
+
23
+
24
+
19
25
 
20
26
 
21
27
  type 例外レポート
@@ -34,9 +40,7 @@
34
40
 
35
41
  java.lang.NullPointerException
36
42
 
37
- MainPage.User_MainPageServlet.doGet(User_MainPageServlet.java:45)
38
-
39
- MainPage.User_MainPageServlet.doPost(User_MainPageServlet.java:23)
43
+ MainPage.User_MainPageServlet.doPost(User_MainPageServlet.java:36)
40
44
 
41
45
  javax.servlet.http.HttpServlet.service(HttpServlet.java:648)
42
46
 
@@ -52,11 +56,15 @@
52
56
 
53
57
 
54
58
 
59
+
60
+
55
- ### 該当のソースコード
61
+ Apache Tomcat/8.0.36
62
+
56
-
63
+ ```
57
-
58
-
64
+
59
- <UserBean.java(JavaBean)>
65
+ ###1.UserBean.java
66
+
67
+ ```
60
68
 
61
69
  package User;
62
70
 
@@ -220,11 +228,11 @@
220
228
 
221
229
  }
222
230
 
223
-
231
+ ```
224
-
225
-
226
-
232
+
227
- <User_Registerervlet.java(サーブレットクラス)>
233
+ ###2.User_RegisterServlet.java(サーブレットクラス)
234
+
235
+ ```
228
236
 
229
237
  package MainPage;
230
238
 
@@ -268,7 +276,7 @@
268
276
 
269
277
  protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
270
278
 
271
- // 文字コードエンコーディング
279
+ /*文字コードエンコーディング*/
272
280
 
273
281
  request.setCharacterEncoding("UTF-8");
274
282
 
@@ -280,143 +288,153 @@
280
288
 
281
289
 
282
290
 
283
- // 遷移先
284
-
285
- String url = null;
286
-
287
-
288
-
289
- //User情報取得
290
-
291
- UserBean ub = new User.UserBean();
292
-
293
-
294
-
295
- String name= request.getParameter("name");
296
-
297
- String sex = request.getParameter("sex");
298
-
299
- String age = request.getParameter("age");
300
-
301
- String year = request.getParameter("year");
302
-
303
- String month = request.getParameter("month");
304
-
305
- String day = request.getParameter("day");
306
-
307
- String height = request.getParameter("tall");
308
-
309
- String weight = request.getParameter("weight");
310
-
311
- String userid = request.getParameter("userid");
312
-
313
- String password = request.getParameter("password");
314
-
315
-
316
-
317
- String birth = year+"年"+month+"月"+day+"日";
318
-
319
-
320
-
321
-
322
-
323
- ub.setName(name);
324
-
325
- ub.setSex(sex);
326
-
327
- ub.setAge(age);
328
-
329
- ub.setBirth(birth);
330
-
331
- ub.setHeight(height);
332
-
333
- ub.setWeight(weight);
334
-
335
- ub.setUserid(userid);
336
-
337
- ub.setPassword(password);
338
-
339
-
340
-
341
- System.out.println(ub.getName());
342
-
343
- System.out.println(ub.getSex());
344
-
345
- System.out.println(ub.getAge());
346
-
347
- System.out.println(ub.getBirth());
348
-
349
- System.out.println(ub.getHeight());
350
-
351
- System.out.println(ub.getWeight());
352
-
353
- System.out.println(ub.getUserid());
354
-
355
- System.out.println(ub.getPassword());
356
-
357
-
358
-
359
- HttpSession session = request.getSession();
360
-
361
- session.setAttribute("userbeanses", ub);
362
-
363
- UserBean ub_test = (UserBean) session.getAttribute("userbeanses");
364
-
365
-
366
-
367
- System.out.println(ub_test.getName());
368
-
369
- System.out.println(ub_test.getSex());
370
-
371
- System.out.println(ub_test.getAge());
372
-
373
- System.out.println(ub_test.getBirth());
374
-
375
- System.out.println(ub_test.getHeight());
376
-
377
- System.out.println(ub_test.getWeight());
378
-
379
- System.out.println(ub_test.getUserid());
380
-
381
- System.out.println(ub_test.getPassword());
382
-
383
- //ログイン判定
384
-
385
- UserAuthBean uab = new User.UserAuthBean();
386
-
387
-
388
-
389
- if(uab.execute(ub) == true) {
390
-
391
- //認証に成功
392
-
393
- //Beansをセッションオブジェクトに保存
394
-
395
- url = "/WEB-INF/Login_Register/register_end.jsp";
396
-
397
- }else{
398
-
399
- //認証に失敗
400
-
401
- url = "/WEB-INF/Login_Register/register_error.jsp";
402
-
403
- }
404
-
405
- // 画面遷移
406
-
407
- ServletContext servletContext = getServletContext();
408
-
409
- RequestDispatcher rd = servletContext.getRequestDispatcher(url);
410
-
411
- rd.forward(request, response);
412
-
413
- }
291
+ /*遷移先*/
292
+
293
+ String url = null;
294
+
295
+
296
+
297
+ /*User情報取得*/
298
+
299
+ UserBean ub = new User.UserBean();
300
+
301
+
302
+
303
+ /*パラメータの取得*/
304
+
305
+ String name= request.getParameter("name");
306
+
307
+ String sex = request.getParameter("sex");
308
+
309
+ String age = request.getParameter("age");
310
+
311
+ String year = request.getParameter("year");
312
+
313
+ String month = request.getParameter("month");
314
+
315
+ String day = request.getParameter("day");
316
+
317
+ String height = request.getParameter("tall");
318
+
319
+ String weight = request.getParameter("weight");
320
+
321
+ String userid = request.getParameter("userid");
322
+
323
+ String password = request.getParameter("password");
324
+
325
+
326
+
327
+ String birth = year+"年"+month+"月"+day+"日";
328
+
329
+
330
+
331
+
332
+
333
+ ub.setName(name);
334
+
335
+ ub.setSex(sex);
336
+
337
+ ub.setAge(age);
338
+
339
+ ub.setBirth(birth);
340
+
341
+ ub.setHeight(height);
342
+
343
+ ub.setWeight(weight);
344
+
345
+ ub.setUserid(userid);
346
+
347
+ ub.setPassword(password);
348
+
349
+
350
+
351
+
352
+
353
+ /*パラメータを取得で来ているかどうかの確認*/
354
+
355
+ System.out.println(ub.getName());
356
+
357
+ System.out.println(ub.getSex());
358
+
359
+ System.out.println(ub.getAge());
360
+
361
+ System.out.println(ub.getBirth());
362
+
363
+ System.out.println(ub.getHeight());
364
+
365
+ System.out.println(ub.getWeight());
366
+
367
+ System.out.println(ub.getUserid());
368
+
369
+ System.out.println(ub.getPassword());
370
+
371
+
372
+
373
+ HttpSession session = request.getSession();
374
+
375
+ session.setAttribute("userbeanses", ub);
376
+
377
+ UserBean ub_test = (UserBean) session.getAttribute("userbeanses");
378
+
379
+
380
+
381
+ /*セッションスコープに保存されているかの確認*/
382
+
383
+ System.out.println(ub_test.getName());
384
+
385
+ System.out.println(ub_test.getSex());
386
+
387
+ System.out.println(ub_test.getAge());
388
+
389
+ System.out.println(ub_test.getBirth());
390
+
391
+ System.out.println(ub_test.getHeight());
392
+
393
+ System.out.println(ub_test.getWeight());
394
+
395
+ System.out.println(ub_test.getUserid());
396
+
397
+ System.out.println(ub_test.getPassword());
398
+
399
+ //ログイン判定
400
+
401
+ UserAuthBean uab = new User.UserAuthBean();
402
+
403
+
404
+
405
+ if(uab.execute(ub) == true) {
406
+
407
+ /*認証に成功*/
408
+
409
+ url = "/WEB-INF/Login_Register/register_end.jsp";
410
+
411
+ }else{
412
+
413
+ /*認証に失敗*/
414
+
415
+ url = "/WEB-INF/Login_Register/register_error.jsp";
416
+
417
+ }
418
+
419
+ /*画面遷移*/
420
+
421
+ ServletContext servletContext = getServletContext();
422
+
423
+ RequestDispatcher rd = servletContext.getRequestDispatcher(url);
424
+
425
+ rd.forward(request, response);
426
+
427
+ }
414
428
 
415
429
  }
416
430
 
417
431
 
418
432
 
419
-
433
+ ```
434
+
435
+ ###3.login.jsp(JSPファイル)
436
+
437
+ ```
420
438
 
421
439
  <login.jsp(jspファイル(ログイン画面))
422
440
 
@@ -480,11 +498,13 @@
480
498
 
481
499
  </html>
482
500
 
483
-
501
+ ```
484
-
485
-
486
-
502
+
503
+
504
+
487
- <User_MainPageServlet.java(サーブレットクラス)>
505
+ ###4.User_MainPageServlet.java(サーブレットクラス)
506
+
507
+ ```
488
508
 
489
509
  package MainPage;
490
510
 
@@ -512,11 +532,7 @@
512
532
 
513
533
  import User.UserBean;
514
534
 
515
- /**
535
+
516
-
517
- * Servlet implementation class User_MainPageServlet
518
-
519
- */
520
536
 
521
537
  @WebServlet("/MainPage/User_MainPageServlet")
522
538
 
@@ -526,19 +542,67 @@
526
542
 
527
543
 
528
544
 
529
-
530
-
531
- protected void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
545
+ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
546
+
532
-
547
+ /*文字コードエンコーディング*/
548
+
549
+ request.setCharacterEncoding("UTF-8");
550
+
551
+ response.setCharacterEncoding("UTF-8");
552
+
553
+ response.setContentType("text/html;charset=UTF-8");
554
+
555
+
556
+
557
+ /*遷移先*/
558
+
559
+ String url = null;
560
+
561
+
562
+
563
+ /*ログイン-ユーザーID_パスワード情報取得*/
564
+
565
+ String userid_login = request.getParameter("userid_login");
566
+
567
+ String password_login = request.getParameter("password_login");
568
+
569
+
570
+
533
- doGet(request,response);
571
+ HttpSession session = request.getSession();
572
+
573
+
574
+
534
-
575
+ UserBean ub = (UserBean) session.getAttribute("userbeanses");
576
+
577
+
578
+
579
+ if(userid_login == ub.getUserid() && password_login == ub.getPassword()) {
580
+
581
+ url = "/WEB-INF/Menu/mainmenu.jsp";
582
+
583
+ }else if((ub.getUserid() == "" && ub.getPassword() == "") || userid_login != ub.getUserid()&& password_login!=ub.getPassword()){
584
+
585
+ url = "WEB-INF/Login_Register/login_error";
586
+
535
- }
587
+ }
588
+
589
+
590
+
591
+ /*画面遷移*/
592
+
593
+ RequestDispatcher rd = request.getRequestDispatcher(url);
594
+
595
+ rd.forward(request, response);
596
+
597
+ }
598
+
599
+
536
600
 
537
601
 
538
602
 
539
603
  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
540
604
 
541
- // 文字コードエンコーディング
605
+ /*文字コードエンコーディング*/
542
606
 
543
607
  request.setCharacterEncoding("UTF-8");
544
608
 
@@ -548,55 +612,45 @@
548
612
 
549
613
 
550
614
 
551
- // 遷移先
615
+ /*遷移先*/
552
-
616
+
553
- String url = null;
617
+ String url = null;
554
-
555
-
556
-
618
+
619
+
620
+
557
- //ログイン-ユーザーID_パスワード情報取得
621
+ /*ログイン-ユーザーID_パスワード情報取得*/
558
-
622
+
559
- String userid_login = request.getParameter("userid_login");
623
+ String userid_login = request.getParameter("userid_login");
560
-
624
+
561
- String password_login = request.getParameter("password_login");
625
+ String password_login = request.getParameter("password_login");
562
-
563
-
564
-
626
+
627
+
628
+
565
- HttpSession session = request.getSession();
629
+ HttpSession session = request.getSession();
566
-
567
-
568
-
630
+
631
+
632
+
569
- UserBean ub = (UserBean)session.getAttribute("userbeanses");
633
+ UserBean ub = (UserBean) session.getAttribute("userbeanses");
570
-
571
-
572
-
634
+
635
+
636
+
573
- 〇 if(userid_login == ub.getUserid() && password_login == ub.getPassword()) {
637
+ if(userid_login == ub.getUserid() && password_login == ub.getPassword()) {
574
-
638
+
575
- url = "/WEB-INF/Menu/mainmenu.jsp";
639
+ url = "/WEB-INF/Menu/mainmenu.jsp";
576
-
640
+
577
- }else if((ub.getUserid() == "" && ub.getPassword() == "") || userid_login
641
+ }else if((ub.getUserid() == "" && ub.getPassword() == "") || userid_login != ub.getUserid()&& password_login!=ub.getPassword()){
578
-
579
- != ub.getUserid()&& password_login!=ub.getPassword()){
642
+
580
-
581
- url = "WEB-INF/Login_Register/login_error";
643
+ url = "WEB-INF/Login_Register/login_error";
582
-
644
+
583
- }
645
+ }
584
-
585
-
586
-
587
- System.out.println(ub.getUserid());
646
+
588
-
589
- System.out.println(ub.getPassword());
647
+
590
-
591
-
592
-
593
-
594
-
648
+
595
- // 画面遷移
649
+ /*画面遷移*/
596
-
650
+
597
- RequestDispatcher rd = request.getRequestDispatcher(url);
651
+ RequestDispatcher rd = request.getRequestDispatcher(url);
598
-
652
+
599
- rd.forward(request, response);
653
+ rd.forward(request, response);
600
654
 
601
655
  }
602
656
 
@@ -606,6 +660,10 @@
606
660
 
607
661
 
608
662
 
663
+ ```
664
+
665
+
666
+
609
667
 
610
668
 
611
669
 

1

サーバーの種類追加

2020/04/23 16:16

投稿

shimchan1010
shimchan1010

スコア6

test CHANGED
File without changes
test CHANGED
@@ -620,7 +620,9 @@
620
620
 
621
621
 
622
622
 
623
- 多数の長いソースコードを張り付けて申し訳ありませんがご協力よろしくお願いいたします。
623
+ 多数の長いソースコードを張り付けて申し訳ありませんがご協力本当によろしくお願いいたします。
624
+
625
+
624
626
 
625
627
 
626
628
 
@@ -628,6 +630,4 @@
628
630
 
629
631
  ### 補足情報(FW/ツールのバージョンなど)
630
632
 
631
-
632
-
633
- ここにより詳細な情報を記載してください。
633
+ サーバー:Tomcat8.0vサーバー