JSPからサーブレットのページに遷移したい。
【前提】
スッキリわかるサーブレット&JSP入門
の5.3フォームを使ったプログラム作成
の
サンプルプログラムを実行しているのですが、プログラムが上手く動作しません。
テキスト付録の、エラー解決のページに書いてある以下についても確認しましたが、特に問題はありませんでした。
・ファイル名(大文字・小文字の区別、スペルミス)
・ファイルの配置ディレクトリ
・URLパターン
このサンプルが動作しないと続きを読み進められないので何とか解決したいです。よろしくお願いいたします。
【eclipseの画面】
【エラーの画面】
formSample.jsp
からFormSampleServlet.java
にPOST
リクエストする時に、以下のエラーメッセージが発生しました。
【ソースコード】
Java
1<%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3<!DOCTYPE html> 4<html> 5<head> 6<meta charset="UTF-8"> 7<title>ユーザー登録もどき</title> 8</head> 9<body> 10<form action="/example/FormSampleServlet" method="post"> 11名前:<br> 12<input type="text" name="name"><br> 13性別:<br> 14男<input type="radio" name="gender" value="0"> 15女<input type="radio" name="gender" value="1"> 16<input type="submit" value="登録"> 17</form> 18</body> 19</html>
Java
1package servlet; 2 3import java.io.IOException; 4import java.io.PrintWriter; 5 6import javax.servlet.ServletException; 7import javax.servlet.annotation.WebServlet; 8import javax.servlet.http.HttpServlet; 9import javax.servlet.http.HttpServletRequest; 10import javax.servlet.http.HttpServletResponse; 11 12/** 13 * Servlet implementation class FormSampleServlet 14 */ 15@WebServlet("/FormSampleServlet") 16public class FormSampleServlet extends HttpServlet { 17 private static final long serialVersionUID = 1L; 18 19 /** 20 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 21 */ 22 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 23 24 //リクエストパラメータを取得 25 request.setCharacterEncoding("UTF-8"); 26 String name = request.getParameter("name"); 27 String gender = request.getParameter("gender"); 28 29 //リクエストパラメータをチェック 30 String errorMsg = ""; 31 if(name == null || name.length() == 0) { 32 errorMsg += "名前が入力されていません<br>"; 33 } 34 if(gender == null || gender.length() == 0) { 35 errorMsg += "性別が選択されていません<br>"; 36 } else { 37 if(gender.equals("0")) { 38 gender = "男性"; 39 } else if(gender.equals("1")) { 40 gender = "女性"; 41 } 42 } 43 44 //表示するメッセージ 45 String msg = name + "さん("+gender+")を登録しましちゃ"; 46 if(errorMsg.length() != 0) { 47 msg = errorMsg; 48 } 49 50 //HTMLを出力 51 response.setContentType("text/html; charset=UTF-8"); 52 PrintWriter out = response.getWriter(); 53 out.println("<!DOCTYPE html>"); 54 out.println("<html>"); 55 out.println("<head>"); 56 out.println("<meta charset=\"UTF-8\">"); 57 out.println("<title>ユーザー登録結果</title>"); 58 out.println("</head>"); 59 out.println("<body>"); 60 out.println("<p>"+msg+"</p>"); 61 out.println("</body>"); 62 out.println("</html>"); 63 64 } 65 66}
補足情報(FW/ツールのバージョンなど)
Tomcatのバージョンは7.0です。


回答2件
あなたの回答
tips
プレビュー