質問編集履歴

1

比較対象の追記

2018/07/29 02:33

投稿

nagomi72
nagomi72

スコア51

test CHANGED
@@ -1 +1 @@
1
- サーブレットクラス初期化中時の500 - Internal Server Errorについ
1
+ サーブレットクラス初期化中時にClassNotFoundが発生しクラスが見からな
test CHANGED
@@ -1,12 +1,18 @@
1
1
  お世話になります。
2
2
 
3
- index.jspからLogin.javaを呼び出すときに500エラーが発生します。
3
+ jspからサーブレット呼び出すときに500エラーが発生します。
4
-
4
+
5
- ClassNotFoundExceptionが出ているので
5
+ ClassNotFoundExceptionが出ており、
6
+
6
-
7
+ web.xmlの設定、またはjspでのform内のURL指定が誤っているのかと
8
+
9
+ 思いましたが、jspからサーブレットを問題なく呼び出せているソースと
10
+
7
- 恐らくweb.xmlの設定がおかしいと思うのすが…
11
+ 比較したところ、web.xmlの記述などに差異は見られませんした。
8
-
12
+
13
+
14
+
9
- ご助言ければ幸いです。
15
+ ご助言いただければ幸いです。
10
16
 
11
17
 
12
18
 
@@ -319,3 +325,221 @@
319
325
 
320
326
 
321
327
  ```
328
+
329
+
330
+
331
+
332
+
333
+
334
+
335
+
336
+
337
+ こちらが問題なく動作するソース。
338
+
339
+ 動作としてはindex.jspで入力された値をResult.javaのサーブレット側で取得し計算を行うというもの。
340
+
341
+ ClassNotFoundExceptionが発生せず処理を行なえている。
342
+
343
+
344
+
345
+
346
+
347
+ index.jsp
348
+
349
+ ```
350
+
351
+
352
+
353
+
354
+
355
+ <%@ page language="java" contentType="text/html; charset=UTF-8"
356
+
357
+ pageEncoding="UTF-8"%>
358
+
359
+ <!DOCTYPE html >
360
+
361
+ <html>
362
+
363
+ <head>
364
+
365
+ <meta charset=UTF-8">
366
+
367
+ <title>映画料金計算</title>
368
+
369
+ </head>
370
+
371
+ <body>
372
+
373
+ <h1>映画料金を計算しゃす!</h1>
374
+
375
+ <form action = "/movieFee/servlet/Result" method = "Post">
376
+
377
+ 性別:<br>
378
+
379
+ 男<input type = "radio" name = "gender" value = "0" required>
380
+
381
+ 女<input type = "radio" name = "gender" value = "1"><br>
382
+
383
+ 年齢:<br>
384
+
385
+ <input type = "number" name = "age" required><br>
386
+
387
+ タイプ:<br>
388
+
389
+ 3D<input type = "radio" name = "type" value = "0" required>
390
+
391
+ 2D<input type = "radio" name = "type" value "1">
392
+
393
+ <input type = "submit" value = "計算へ">
394
+
395
+ </body>
396
+
397
+ </html>
398
+
399
+
400
+
401
+ ```
402
+
403
+
404
+
405
+
406
+
407
+ Result.java
408
+
409
+
410
+
411
+
412
+
413
+ ```
414
+
415
+
416
+
417
+ package servlet;
418
+
419
+
420
+
421
+ import java.io.IOException;
422
+
423
+ import javax.servlet.ServletException;
424
+
425
+ import javax.servlet.annotation.WebServlet;
426
+
427
+ import javax.servlet.http.HttpServlet;
428
+
429
+ import javax.servlet.http.HttpServletRequest;
430
+
431
+ import javax.servlet.http.HttpServletResponse;
432
+
433
+
434
+
435
+ //@WebServlet("/Result")
436
+
437
+ public class Result extends HttpServlet {
438
+
439
+ private static final long serialVersionUID = 1L;
440
+
441
+
442
+
443
+ protected void doPost(HttpServletRequest request, HttpServletResponse response)
444
+
445
+ throws ServletException, IOException {
446
+
447
+ int age = -1;
448
+
449
+
450
+
451
+ // リクエストパラメータを取得
452
+
453
+ request.setCharacterEncoding("UTF-8");
454
+
455
+ String gender = request.getParameter("gender");
456
+
457
+ age = Integer.parseInt(request.getParameter("age"));
458
+
459
+ String type = request.getParameter("type");
460
+
461
+
462
+
463
+ // Calcクラスのインスタンスを生成
464
+
465
+ Calc calc = new Calc();
466
+
467
+
468
+
469
+ // 計算結果を代入
470
+
471
+ int result = calc.movieFeeCalc(age, gender, type);
472
+
473
+
474
+
475
+ request.setAttribute("result", result);
476
+
477
+
478
+
479
+ getServletConfig().getServletContext().getRequestDispatcher("/WEB-INF/jsp/result.jsp").forward(request,
480
+
481
+ response);
482
+
483
+
484
+
485
+ }
486
+
487
+
488
+
489
+ }
490
+
491
+
492
+
493
+ ```
494
+
495
+
496
+
497
+
498
+
499
+ web.xml
500
+
501
+
502
+
503
+ ```
504
+
505
+
506
+
507
+ <?xml version="1.0" encoding="ISO-8859-1"?>
508
+
509
+ <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
510
+
511
+ xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:web="http://xmlns.jcp.org/xml/ns/javaee"
512
+
513
+ xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
514
+
515
+ version="2.4">
516
+
517
+
518
+
519
+ <servlet>
520
+
521
+ <servlet-name>Result</servlet-name>
522
+
523
+ <servlet-class>servlet.Result</servlet-class>
524
+
525
+ </servlet>
526
+
527
+
528
+
529
+ <servlet-mapping>
530
+
531
+ <servlet-name>Result</servlet-name>
532
+
533
+ <url-pattern>
534
+
535
+ /servlet/Result
536
+
537
+ </url-pattern>
538
+
539
+ </servlet-mapping>
540
+
541
+ </web-app>
542
+
543
+
544
+
545
+ ```