JavaのWebアプリはどう動く?HTMLフォームからJSPに値が渡る流れ

本記事は、Schooの「Java入門 中級【2026年版】」第4回「Webアプリケーションの動作原理と画面連携」を学ぶ前後に、HTMLフォームからJSPへ値が渡る流れを整理したい方向けの記事です。
Webアプリでは、ブラウザに表示された画面に入力し、送信ボタンを押すと、サーバー側のJSPやJavaの処理へ値が送られます。最初はこの流れが見えにくいため、フォーム、リクエスト、JSPの関係を順番に見ていきます。
Schoo コースページ:Java入門 中級【2026年版】
Webアプリはブラウザとサーバーがやり取りして動く
Webアプリケーションは、ブラウザだけで完結しているわけではありません。ブラウザで入力した内容は、リクエストとしてサーバーへ送られます。サーバー側では、その値を受け取り、結果のHTMLを作ってブラウザに返します。
リクエストを受け取るのはサーバー側の処理です。今回のサンプルでは、送信先に指定されたJSPの中で request.getParameter を使い、リクエストに入っている値を取り出します。
HTMLフォームで入力欄を作る
まず、ブラウザに表示するHTMLフォームを作ります。ここでは、名前、年齢、コメントを入力するフォームを例にします。
<form action="profile-result.jsp" method="post">
<p>Name</p>
<input type="text" name="name">
<p>Age</p>
<input type="text" name="age">
<p>Comment</p>
<textarea name="comment"></textarea>
<br>
<button type="submit">Send</button>
</form>
ここで重要なのは、form タグの action と、入力欄の name 属性です。
actionは送信先のJSPを指定する
action="profile-result.jsp" は、フォームを送信したときに、どのページへリクエストを送るかを指定しています。
つまり、入力画面のHTMLから、送信先として指定したサーバー側のページへリクエストが送られます。今回の例では、その送信先が profile-result.jsp です。
name属性はJSPで値を取り出すための名前
フォームの入力欄には name 属性を付けます。この name が、JSP側で値を取り出すときのキーになります。
たとえば <input name="name"> に入力された値は、JSP側で request.getParameter("name") と書くと取り出せます。
JSPでrequest.getParameterを使って値を受け取る
送信先のJSPでは、request.getParameter を使ってフォームの値を取り出します。
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Profile Result</title>
</head>
<body>
<h1>Profile Result</h1>
<p>Name: <%= request.getParameter("name") %></p>
<p>Age: <%= request.getParameter("age") %></p>
<p>Comment: <%= request.getParameter("comment") %></p>
</body>
</html>
<%= ... %> は、Javaの式の結果をHTMLに埋め込む書き方です。ここでは、フォームから送られてきた値をそのまま画面に表示しています。
フォーム送信で見るべきポイント
フォームとJSPをつなげるときは、次の対応を確認します。
formのactionが送信先のJSPになっているか- 入力欄に
name属性が付いているか - JSP側の
getParameterに、同じ名前を指定しているか - 受け取った値をどこに表示しているか
値が表示されない場合は、まず name 属性と getParameter の文字列が一致しているかを確認します。
確認問題
次のフォームから送信された値を、JSP側で受け取るコードを考えてください。
<form action="user-result.jsp" method="post">
<input type="text" name="userName">
<input type="text" name="email">
<button type="submit">Send</button>
</form>
演習後の確認:こちらのページを使って、自分で考えた内容を見直せます。
まとめ
- Webアプリはブラウザとサーバーのやり取りで動く
formのactionは送信先を指定する- フォームの
name属性は、JSPで値を取り出すための名前になる - JSPでは
request.getParameter("name属性の値")でフォームの値を受け取る