ログインフォーム作成

ファイル構成

WebContent/
├── auth.jsp
└── login.jsp

ログイン画面

JSPファイル作成

「login.jsp」ファイルを作成します。

ログインフォーム作成

POSTメソッドのログインフォームを作成します。送信先は「auth.jsp」、データは「email」「password」とします。

login.jsp
...
<body>
	<main>
		<h2>会員ログイン</h2>
		<form action="auth.jsp" method="post">
			<div>
				<label>Email</label>
				<input type="text" name="email">
			</div>
			<div>
				<label>パスワード</label>
				<input type="password" name="password">
			</div>
			<div>
				<button>ログイン</button>
			</div>
		</form>
	</main>
</body>
...

結果

ブラウザでフォームを確認してみましょう。

暗黙オブジェクト

JSPでは宣言なしで使用できる暗黙オブジェクトがあり、以下の9つのオブジェクトが用意されています。

暗黙オブジェクト一覧

オブジェクト 説明
request リクエストの取得
response レスポンスの取得
out 実行結果を出力
pageContext JSPのオブジェクト管理
session セッション管理
application アプリケーションデータ管理
page 自分のJSPページ
config パラメータ設定
exception 例外エラー処理の取得

requestオブジェクト

URLアクセスやフォーム送信などのリクエストされた情報は、requestオブジェクトで管理します。

getParameter()

GETやPOSTパラメータの取得はgetParameter() メソッドを使います。値を取得するには、getParameter()にキー(フォームタグのnameプロパティ)を指定します。

JSP
request.getParameter(キー)
HTML
<form action="" method="post">
    <input type="text" name="キー">
</form>

POSTデータ取得

JSPファイル作成

JSPファイル「auth.jsp」を作成します。

auth.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

</body>
</html>

POSTデータ取得

「login.jsp」から送信されたPOSTパラメータ「email」「password」を、request.getParameter() メソッドで取得します。

auth.jsp
<%
String email = request.getParameter("email");
String password = request.getParameter("password");
%>

パラメータの表示

変数「email」「password」をHTML表示します。

auth.jsp
...
<body>
	<h2>Email</h2>
	<p><%= email %></p>
	<h2>Password</h2>
	<p><%= password %></p>
</body>
...

フォームの確認

データ送信

「login.jsp」のフォームにデータを入力して【ログイン】ボタンをクリックします。

データ確認

「auth.jsp」に送信したデータを、取得して表示できました。

演習

問題1

フォームから送信された「keyword」データを、JSPで取得する処理はどれですか?

1)request.getParameter("keyword")

2)request.getParameterNames("keyword")

3)response.getParameter("keyword")

4)response.getParameterNames("keyword")

問題2

JSPファイル「search.jsp」に、以下のHTMLフォームを作成してみましょう。また「検索キーワード」で入力したデータを送信して、HTMLに表示してみましょう。

    <h2>検索</h2>
	<form action="" method="get">
	    <label>検索キーワード</label>
		<input type="text" name="keyword">
		
		<button>検索</button>
	</form>
	
	<h2>パラメータ</h2>
	<p>
	   <!-- ここに取得データを表示 -->
	</p>

TomcatでつくるWebアプリ