Latest web development tutorials

JSPフォーム処理

私たちはしばしば、サーバーに情報を送信し、デーモンプロセスをさせる必要があり、Webをブラウズ。 ブラウザがサーバにデータを送信するために、GETとPOSTメソッドを使用しています。


GETメソッド

"?"で区切らを通じてURL、URLエンコードの情報に追加する情報要求を符号化する方法をGET。 次のように:

http://www.w3big.com/hello?key1=value1&key2=value2

GETメソッドは、GETメソッドを使用しないことをお勧めパスワードやその他のようなパラメータのデフォルトブラウザ、機密情報を、渡す方法です。

慣れる、送信データのサイズが1024バイトまで、(限定されるものではなく、パラメータの数に注意してください)制限されます。


POSTメソッド

そのような私たちがデータを送信するPOSTメソッド、POSTを渡すことができますので、パスワードやなどの機密情報が暗黙的です。

データを送信するために、POSTが表示されていない、内部URLを介して渡されるGET(あなたがブラウザのアドレスバーを見ることができます)。

JSP渡されたパラメータを取得するためのgetParameter()を使用して、のgetInputStream()メソッドは、クライアントの要求バイナリデータストリームを処理するために使用されます。


JSPフォームデータが読み出されます

  • getParameter():使用request.getParameter()メソッドは、フォームパラメータの値を取得します。

  • getParameterValues():チェックボックスクラス(同じ名前が、複数の値)データとして取得します。このようなタイプのチェックボックスなどの変数、配列を受け取ります

  • getParameterNamesメソッド():このメソッドは、すべての変数の名前を取得することができ、この方法は、Emumerationを返します。

  • getInputStream():このメソッドは、クライアントからのバイナリデータストリームを読み取るために呼び出されます。


URLのGETメソッドの使用例

以下は、単純なURLで、URLにパラメータを渡すためにGETメソッドを使用しています。

http://localhost:8080/testjsp/main.jsp?name=本教程&url=http://ww.w3big.com

プロジェクトのtestjspアドレス。

以下は、我々は、データが送信取得するのgetParameter()メソッドを使用して、クライアントによって送信されたフォームデータを処理するためのJSPプログラム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>本教程(w3big.com)</title>
</head>
<body>
<h1>使用 GET 方法读取数据</h1>
<ul>
<li><p><b>站点名:</b>
   <%= request.getParameter("name")%>
</p></li>
<li><p><b>网址:</b>
   <%= request.getParameter("url")%>
</p></li>
</ul>
</body>
</html>

次に、ブラウザのhttp:// localhost:8080にアクセス/ testjsp / main.jsp名=次のようにこのチュートリアル&URL = HTTP :? //ww.w3big.com出力結果は以下のとおりです。


例の形GETメソッドを使用します。

以下は、クライアント・データ・ファイルをmain.jspするには、GETメソッドにより提出される単純なHTMLフォーム、次のとおりです。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>本教程(w3big.com)</title>
</head>
<body>

<form action="main.jsp" method="GET">
站点名: <input type="text" name="name">
<br />
网址: <input type="text" name="url" />
<input type="submit" value="提交" />
</form>

</body>
</html>

Test.htmファイルに上記のHTMLコードを保存します。 (main.jsp同じディレクトリを持つ)のWebContent JSPプロジェクトの下で、現在のディレクトリにファイルを配置します。

訪問HTTP:// localhostを:8080 / testjsp / test.htmlというmain.jspファイルにフォームデータを提出し、GIFのデモは以下のとおり:

それが結果出力は以下となり、「サイト名」と「URL」2つのフォームに情報を入力し、「送信」ボタンをクリックします。


フォームのPOSTメソッドの例

のは、フォームデータを送信するために、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>本教程(w3big.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>网址:</b>
   <%= request.getParameter("url")%>
</p></li>
</ul>
</body>
</html>

コード我々は新しいString使用((request.getParameter( "名 "))。GetBytesメソッド()「ISO-8859-1」、「UTF-8」)は、コードを変換中国の文字化けが発生するのを防止することができます。

ここで修正されたコードをTest.htmは、次のとおりです。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>本教程(w3big.com)</title>
</head>
<body>

<form action="main.jsp" method="POST">
站点名: <input type="text" name="name">
<br />
网址: <input type="text" name="url" />
<input type="submit" value="提交" />
</form>

</body>
</html>

訪問HTTP:// localhostを:8080 / testjsp / test.htmlというmain.jspファイルにフォームデータを提出し、GIFのデモは以下のとおり:


チェックボックスは、JSPプログラムにデータを渡します

チェックボックスのチェックボックスは、さらに多くのデータを渡すことができます。

以下は、単純なHTMLコードで、コードがTest.htmというファイルに保存されています。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>本教程(w3big.com)</title>
</head>
<body>

<form action="main.jsp" method="POST" target="_blank">
<input type="checkbox" name="google" checked="checked" /> Google
<input type="checkbox" name="w3big"  /> 本教程
<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>本教程(w3big.com)</title>
</head>
<body>
<h1>从复选框中读取数据</h1>
<ul>
<li><p><b>Google 是否选中:</b>
   <%= request.getParameter("google")%>
</p></li>
<li><p><b>本教程是否选中:</b>
   <%= request.getParameter("w3big")%>
</p></li>
<li><p><b>淘宝是否选中:</b>
   <%= request.getParameter("taobao")%>
</p></li>
</ul>
</body>
</html>

訪問HTTP:// localhostを:8080 / testjsp / test.htmlというmain.jspファイルにフォームデータを提出し、GIFのデモは以下のとおり:


すべてのフォームパラメータを読みます

我々は、フォームのすべてのパラメータを読み取るためのHttpServletRequest getParameterNamesメソッド()を使用します。下には、この方法は、すべての変数の名前を取得することができ、この方法は、列挙を返します。

私たちが列挙(列挙)をしたら、我々は要素があるかどうかを判断するために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>本教程(w3big.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>本教程(w3big.com)</title>
</head>
<body>

<form action="main.jsp" method="POST" target="_blank">
<input type="checkbox" name="google" checked="checked" /> Google
<input type="checkbox" name="w3big"  /> 本教程
<input type="checkbox" name="taobao" checked="checked" /> 
                                                淘宝
<input type="submit" value="选择网站" />
</form>

</body>
</html>

今、私たちは、ブラウザアクセスのTest.htm出力結果を介してデータファイルを送信次のとおりです。

訪問HTTP:// localhostを:8080 / testjsp / test.htmlというmain.jspファイルにフォームデータを提出し、GIFのデモは以下のとおり:

あなたは、テキストボックス、ラジオボタン、ドロップダウンボックスやデータのような他の形態として、他のオブジェクトを読み取るJSPコード以上のものを使用しようとすることができます。