Web を閲覧するとき、多くの場合、情報をサーバーに送信し、バックグラウンド プログラムに処理させる必要があります。ブラウザは GET メソッドと POST メソッドを使用してデータをサーバーに送信します。
GET メソッドは、要求されたエンコード情報を URL の後に追加し、URL とエンコード情報は「?」記号で区切られます。以下に示すように:
//www.w3cschool.cn/hello?key1=value1&key2=value2
GET メソッドは、ブラウザがパラメータを渡すためのデフォルトのメソッドです。パスワードなどの一部の機密情報には GET メソッドを使用しないことをお勧めします。
get を使用する場合、送信されるデータのサイズには制限があり (パラメーターの数には制限がないことに注意してください)、最大は 1024 バイトです。
POST メソッドを通じてパスワードなどの一部の機密情報を渡すことができ、投稿データは暗黙的に送信されます。
POST によって送信されたデータは表示されず、GET は URL で渡されます (ブラウザのアドレス バーで確認できます)。
JSP は getParameter() を使用して渡されたパラメータを取得し、getInputStream() メソッドを使用してクライアントのバイナリ データ ストリーム リクエストを処理します。
getParameter(): request.getParameter() メソッドを使用して、フォーム パラメーターの値を取得します。
getParameterValues():チェックボックスクラスなどのデータを取得します(同じ名前ですが複数の値)。 チェックボックスタイプなどの配列変数を受け取る
getParameterNames():このメソッドはすべての変数の名前を取得できます。このメソッドはエミュレーションを返します。
getInputStream():このメソッドを呼び出して、クライアントからバイナリ データ ストリームを読み取ります。
以下は単純な URL であり、GET メソッドを使用して URL 内のパラメーターを渡します。
http://localhost:8080/main.jsp?first_name=ZARA&last_name=ALI
以下は、クライアントから送信されたフォーム データを処理するための main.jsp ファイルの JSP プログラムです。getParameter() メソッドを使用して送信されたデータを取得します。
<html><head><title>GET メソッドを使用してフォーム データを読み取る</title></head><body><center><h1>GET メソッドを使用してフォーム データを読み取る</h1><ul><li> <p><b>名:</b> <%= request.getParameter("first_name")%></p></li><li><p><b>姓:</b> <%= request.getParameter("last_name")%></p></li></ul></body></html>
次に、ブラウザからhttp://localhost:8080/main.jsp?first_name=ZARA&last_name=ALIにアクセスします。出力結果は次のとおりです。
GET メソッドを使用してフォーム データを読み取る 名: ZARA 姓: ALI
以下は、GET メソッドを介してクライアント データを main.jsp ファイルに送信する単純な HTML フォームです。
<html><body><form action="main.jsp" method="GET">名: <input type="text" name="first_name"><br />姓: <input type="text " name="last_name" /><input type="submit" value="送信" /></form></body></html>
上記の HTML コードを Hello.htm ファイルに保存します。 このファイルを /webapps/ROOT ディレクトリに配置します。 http://localhost:8080/Hello.htmにアクセスすると、出力インターフェースは次のようになります。
「名」と「姓」のフォームに情報を入力し、「送信」ボタンをクリックすると、結果が出力されます。
次に、POST メソッドを使用してフォーム データを転送し、main.jsp および Hello.htm ファイルのコードを次のように変更します。
main.jsp ファイルのコード:
<html><head><title>GET メソッドと POST メソッドを使用してフォーム データを読み取る</title></head><body><center><h1>GET メソッドを使用してフォーム データを読み取る</h1><ul>< li><p><b>名:</b> <%= request.getParameter("first_name")%></p></li><li><p><b>姓:</ b> <%= request.getParameter("last_name")%></p></li></ul></body></html>
Hello.htm の変更コードは次のとおりです。
<html><body><form action="main.jsp" method="POST">名: <input type="text" name="first_name"><br />姓: <input type="text " name="last_name" /><input type="submit" value="送信" /></form></body></html>
ブラウザからhttp://localhost:8080/Hello.htmにアクセスすると、出力は次のようになります。
「名」と「姓」のフォームに情報を入力し、「送信」ボタンをクリックすると、結果が出力されます。
チェックボックス チェックボックスには 1 つまたは複数のデータを渡すことができます。
以下は単純な HTML コードであり、そのコードを CheckBox.htm ファイルに保存します。
<html><body><form action="main.jsp" method="POST" target="_blank"><input type="checkbox" name="maths" Checked="checked" /> Maths<input type= "checkbox" name="物理学" /> 物理学<input type="checkbox" name="化学" Checked="checked" /> 化学<input type="submit" value="主題を選択" /></form> </body></html>
以下は、チェック ボックス データの処理に使用される main.jsp ファイル コードです。
<html><head><title>チェックボックス データの読み取り</title></head><body><center><h1>チェックボックス データの読み取り</h1><ul><li><p><b>数学フラグ:</b> <%= request.getParameter("maths")%></p></li><li><p><b>物理フラグ:</b> <%= request.getParameter("physics")%></p></li><li><p><b>化学フラグ:</b> <%= request.getParameter("chemistry")%></p ></li></ul></body></html>
上記の例の出力結果は次のとおりです。
以下では、HttpServletRequest の getParameterNames() を使用して、使用可能なすべてのフォーム パラメーターを読み取ります。このメソッドは、エミュレーションを返します。
Enumeration を取得したら、 hasMoreElements() メソッドを呼び出してその使用をいつ停止するかを決定し、 nextElement() メソッドを呼び出して各パラメータの名前を取得できます。
<%@ page import="java.io.*,java.util.*" %><html><head><title>HTTP ヘッダー要求の例</title></head><body><center><h2 >HTTP ヘッダー リクエストの例</h2><table align="center"><tr bgcolor="#949494"><th>パラメータ名</th><th>パラメータ値</th></tr ><% 列挙型 paramNames = request.getParameterNames(); while(paramNames.hasMoreElements()) { String paramName = (String)paramNames.nextElement(); out.print("<tr><td>" + paramName + "</td>n "); String paramValue = request.getParameter(paramName); out.println("<td> " + paramValue + "</td></tr>n"); }%></table></center></body></html>
Hello.htm ファイルの内容は次のとおりです。
<html><body><form action="main.jsp" method="POST" target="_blank"><input type="checkbox" name="maths" Checked="checked" /> Maths<input type= "checkbox" name="物理学" /> 物理学<input type="checkbox" name="化学" Checked="checked" /> 化学<input type="submit" value="主題を選択" /></form> </body></html>
次に、ブラウザを通じて Hello.htm ファイルにアクセスし、データを送信します。出力は次のようになります。
上記の JSP コードを使用して、テキスト ボックス、ラジオ ボタン、ドロップダウン ボックスなどの他のオブジェクト、および他の形式のデータを読み取ることができます。