English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
ウェブページを閲覧する際には、サーバーに情報を提出し、バックエンドプログラムが処理する必要があります。ブラウザでは GET と POST メソッドを使用してサーバーにデータを提出します。
GET メソッドはリクエストのエンコード情報を URL の後に追加し、URL とエンコード情報を "?" で区切ります。以下のようになります:
http://ja.oldtoolbag.com/hello?key1=value1&key2=value2
GET メソッドはブラウザのデフォルトのパラメータ渡し方法で、パスワードなどの機密情報などは GET メソッドを使用することはお勧めしません。
GETを使用するとき、データの転送サイズには制限があります(パラメータの数に制限はありませんが)、最大値は1024バイト。
パスワードなどの機密情報は、POST メソッドを使用して渡すことができます。POST 提交データは非表示です。
POST 提交データは不可視で、GET は URL 内で渡されます(ブラウザのアドレスバーを見てください)。
JSP は getParameter() を使用して渡されたパラメータを取得し、getInputStream() メソッドを使用してクライアントのバイナリデータストリームのリクエストを処理します。
getParameter(): request.getParameter() メソッドを使用してフォームパラメータの値を取得します。
getParameterValues(): checkbox クラス(名前が同じでも値が複数ある)のようなデータを取得します。 接続する配列変数、checkbox タイプを受け取ります。
getParameterNames():このメソッドはすべての変数の名前を取得し、Enumeration を返します。
getInputStream():このメソッドを呼び出して、クライアントから読み取れるバイナリデータストリームを読み取ります。
以下はシンプルな URL で、GET メソッドを使用して URL 内のパラメータを渡します:
http://localhost:8080/testjsp/main.jsp?name=基础教程网&url=http://ww.oldtoolbag.com
testjsp がプロジェクトのアドレスです。
以下は main.jsp ファイルの JSP プログラムで、クライアントが提出したフォームデータを処理するためのもので、getParameter() メソッドを使用して提出されたデータを取得します:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.io.*,java.util.*" %> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>基本チュートリアルウェブ(oldtoolbag.com)</title> </head> <body> <h1GET メソッドを使用してデータを読み取ります。/h1> <ul> <li><p><b>サイト名:</b> <%= request.getParameter("name") %> </p></li> <li><p><b>URL:</b> <%= request.getParameter("url")%> </p></li> </ul> </body> </html>
次に、ブラウザで http: をアクセスします。//localhost:8080/testjsp/main.jsp?name=JSP教程&url=http://ww.oldtoolbag.comからの出力結果は以下のようになります:
以下は簡単なHTMLフォームで、GETメソッドを使用してクライアントデータを送信 まで main.jsp ファイル中:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>基本チュートリアルウェブ(oldtoolbag.com)</title> </head> <body> <form action="main.jsp" method="GET"> サイト名: <input type="text" name="name"> <br /> URL: <input type="text" name="url" /> <input type="submit" value="提出" /> </form> </body> </html>
上記のHTMLコードをtest.htmファイルに保存してください。 このファイルを現在のjspプロジェクトのWebContentディレクトリに配置してください(main.jspと同じディレクトリ)。
アクセスを通じて http://localhost:8080/testjsp/test.html フォームデータをmain.jspファイルに提出する、以下の図はその例です:
「サイト名」および「URL」のフォームに情報を入力し、「提出」ボタンをクリックすると、結果が出力されます。
次に、POSTメソッドを使用してフォームデータを伝達する方法を見てみましょう。main.jspとHello.htmファイルのコードを以下のように修正します:
main.jspファイルのコード:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.io.*,java.util.*" %> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>基本チュートリアルウェブ(oldtoolbag.com)</title> </head> <body> <h1>POSTメソッドを使用してデータを読み取る</h1> <ul> <li><p><b>サイト名:</b> <% // 文字化けの問題を解決する String name = new String((request.getParameter("name")).getBytes("ISO-8859-1"),"UTF-8"); > <%=name%> </p></li> <li><p><b>URL:</b> <%= request.getParameter("url")%> </p></li> </ul> </body> </html>
コードでは以下を使用しています new String((request.getParameter("name")).getBytes("ISO-8859-1"),"UTF-8")エンコードを変換し、文字化けを防ぐために使用します。
以下はtest.htmが修正されたコードです:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>基本チュートリアルウェブ(oldtoolbag.com)</title> </head> <body> <form action="main.jsp" method="POST"> サイト名: <input type="text" name="name"> <br /> URL: <input type="text" name="url" /> <input type="submit" value="提出" /> </form> </body> </html>
アクセスを通じて http://localhost:8080/testjsp/test.html 以下のように main.jsp ファイルにフォームデータを送信します:
チェックボックスcheckboxは、1つまたは複数のデータを伝達できます。
以下は簡単なHTMLコードで、コードはtest.htmファイルに保存されます:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>基本チュートリアルウェブ(oldtoolbag.com)</title> </head> <body> <form action="main.jsp" method="POST" target="_blank"> <input type="checkbox" name="google" checked="checked" /> Google <input type="checkbox" name="w3codebox /> 基本チュートリアルウェブ <input type="checkbox" name="taobao" checked="checked" /> 淘宝 <input type="submit" value="サイトを選択" /> </form> </body> </html>
上記のコードは、ブラウザでアクセスすると以下のようになります:
以下为main.jspファイルのコード、チェックボックスデータを処理するためのものです:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.io.*,java.util.*" %> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>基本チュートリアルウェブ(oldtoolbag.com)</title> </head> <body> <h1>チェックボックスからデータを読み取る</h1> <ul> <li><p><b>Google 是否选中:</b> <%= request.getParameter("google")%> </p></li> <li><p><b>基础教程网是否选中:</b> <%= request.getParameter("w3codebox")%> </p></li> <li><p><b>淘宝是否选中:</b> <%= request.getParameter("taobao")%> </p></li> </ul> </body> </html>
アクセスを通じて http://localhost:8080/testjsp/test.html 以下のように main.jsp ファイルにフォームデータを送信します:
「選択サイト」をクリック後:
以下、以下を使用します HttpServletRequest の getParameterNames() すべてのフォームパラメータを読み込むためのメソッドを使用すると、すべての変数の名前を取得することができます。このメソッドは列挙を返します。
一旦我们が一つの Enumeration(列挙)を持っていると、hasMoreElements() メソッドを使用して要素がまだあるかどうかを確認し、nextElement() メソッドを使用して各パラメータの名前を取得することができます。
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.io.*,java.util.*" %> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>基本チュートリアルウェブ(oldtoolbag.com)</title> </head> <body> <h1>すべてのフォームパラメータを読み込む</h1> <table width="100%" border="1" align="center"> <tr bgcolor="#949494"> <th>パラメータ名</th><th>パラメータ値</th> </tr> <% Enumeration 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> </body> </html>
以下はtest.htmファイルの内容です:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>基本チュートリアルウェブ(oldtoolbag.com)</title> </head> <body> <form action="main.jsp" method="POST" target="_blank"> <input type="checkbox" name="google" checked="checked" /> Google <input type="checkbox" name="w3codebox /> 基本チュートリアルウェブ <input type="checkbox" name="taobao" checked="checked" /> 淘宝 <input type="submit" value="サイトを選択" /> </form> </body> </html>
現在、ブラウザで test.htm ファイルにアクセスしてデータを送信し、以下の結果が表示されます:
アクセスを通じて http://localhost:8080/testjsp/test.html 以下のように main.jsp ファイルにフォームデータを送信します:
「サイトを選択」をクリック後:
上記のJSPコードを使用して、テキストボックス、ラジオボタン、ドロップダウンリストなど、他の形式のデータを読み取ることを試してみてください。