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

最終更新日

Schoo Java入門 中級 第4回 Webアプリケーションの動作原理と画面連携

本記事は、Schooの「Java入門 中級【2026年版】」第4回「Webアプリケーションの動作原理と画面連携」を学ぶ前後に、HTMLフォームからJSPへ値が渡る流れを整理したい方向けの記事です。

Webアプリでは、ブラウザに表示された画面に入力し、送信ボタンを押すと、サーバー側のJSPやJavaの処理へ値が送られます。最初はこの流れが見えにくいため、フォーム、リクエスト、JSPの関係を順番に見ていきます。

Schoo コースページ:Java入門 中級【2026年版】

Webアプリはブラウザとサーバーがやり取りして動く

Webアプリケーションは、ブラウザだけで完結しているわけではありません。ブラウザで入力した内容は、リクエストとしてサーバーへ送られます。サーバー側では、その値を受け取り、結果のHTMLを作ってブラウザに返します。

リクエストを受け取るのはサーバー側の処理です。今回のサンプルでは、送信先に指定されたJSPの中で request.getParameter を使い、リクエストに入っている値を取り出します。

図解:フォーム送信でブラウザとサーバーがやり取りする流れ
1. 入力画面
Name
田中
Age
20
ブラウザでフォームに入力する
2. リクエスト
POST
profile-result.jsp
name=田中
age=20
入力値がサーバーへ送られる
3. サーバー側
JSP
リクエストから値を取り出す
name → 田中
今回の例ではJSPが処理する
4. 結果画面
Profile Result
Name: 田中
Age: 20
作られたHTMLが表示される
送信先: action
送信方法: method
値の名前: name
取り出し: getParameter
フォーム送信では、ブラウザで入力した値がHTTPリクエストとしてサーバーへ送られます。今回のサンプルでは、送信先のJSPがその値を取り出してHTMLを作ります。

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 属性です。

図解:formタグのactionとmethodを見る
<form action=”profile-result.jsp” method=”post”>
  <input type=”text” name=”name”>
  <button type=”submit”>Send</button>
</form>
action
送信先のJSPを指定する
method
送信方法を指定する
フォーム送信の流れを見るときは、まずformタグのactionとmethodを確認します。

actionは送信先のJSPを指定する

action="profile-result.jsp" は、フォームを送信したときに、どのページへリクエストを送るかを指定しています。

つまり、入力画面のHTMLから、送信先として指定したサーバー側のページへリクエストが送られます。今回の例では、その送信先が profile-result.jsp です。

name属性はJSPで値を取り出すための名前

フォームの入力欄には name 属性を付けます。この name が、JSP側で値を取り出すときのキーになります。

図解:name属性とgetParameterの対応
名前
フォーム
name=”name”
JSP
getParameter(“name”)
年齢
フォーム
name=”age”
JSP
getParameter(“age”)
コメント
フォーム
name=”comment”
JSP
getParameter(“comment”)
JSP側で指定する文字列は、HTMLフォームのname属性と対応します。

たとえば <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をつなげるときは、次の対応を確認します。

  • formaction が送信先の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アプリはブラウザとサーバーのやり取りで動く
  • formaction は送信先を指定する
  • フォームの name 属性は、JSPで値を取り出すための名前になる
  • JSPでは request.getParameter("name属性の値") でフォームの値を受け取る

関連する記事

シェアする