Latest web development tutorials

JSP przetwarzania formularzy

Mamy przeglądać strony internetowe, często trzeba przekazywać informacje do serwera, i niech procesu demona. Przeglądarka używa metody GET i POST do przekazywania danych do serwera.


Metoda GET

GET metodę kodowania prośbę o dodanie do URL, informacji kodowania URL przez "?" Oddzielone. W następujący sposób:

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

Metoda GET jest metoda przekazywania parametrów domyślną przeglądarkę, poufnych informacji, takich jak hasła i inne nie zaleca się użycie metody GET.

Przyzwyczaić wielkość danych transmisji jest ograniczona (należy zwrócić uwagę na szereg parametrów nie jest ograniczona), do 1024 bajtów.


metoda POST

Poufnych informacji, takich jak hasła i tak możemy przejść z metody POST, Post przedstawienia danych jest niejawna.

POST do przekazywania danych nie jest widoczny, jest przepuszczany przez GET wewnątrz URL (można spojrzeć na pasku adresu przeglądarki).

JSP przy użyciu getParameter (), aby uzyskać przekazany parametr metoda getInputStream () służy do przetwarzania strumienia danych binarnych żądania klientów.


Formularz JSP dane są odczytywane

  • getParameter (): metoda Korzystanie request.getParameter (), aby uzyskać wartość parametru formularza.

  • getParameterValues (): dostać się do klasy checkbox (o tej samej nazwie, ale wiele wartości) danych.Odbieranie tablicę zmiennych, takich jak typ wyboru

  • getParameterNames (): Ta metoda może uzyskać nazwy wszystkich zmiennych, metoda zwraca Emumeration.

  • getInputStream (): Metoda ta nazywana jest do zapoznania się z binarnego strumienia danych od klienta.


Przykłady zastosowania metody GET URL

Poniżej znajduje się prosty URL i używa metody GET przekazać parametry w adresie URL:

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

testjsp adres dla projektu.

Poniżej znajduje się plik programu main.jsp JSP do przetwarzania danych formularzy składanych przez klienta, stosujemy metodę getParameter (), aby uzyskać dane przedstawione:

<%@ 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>

Następnie odwiedź http Przeglądarka: // localhost: 8080 / testjsp / nazwisko main.jsp = Ten poradnik & url = http :? //ww.w3big.com wyniki wyjściowe są następujące:


Użyj metody GET formularz z przykładu

Poniżej znajduje się prosty formularz HTML, który zostanie przedstawiony za pomocą metody GET do main.jsp plik danych klienta:

<!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>

Zapisz powyższy kod HTML do pliku test.htm. Umieść plik w bieżącym katalogu w ramach projektu WebContent jsp (z main.jsp tym samym katalogu).

Odwiedzając http: // localhost: 8080 / testjsp / test.html main.jsp przedstawić dane formularza do pliku, pokazano demo Gif poniżej:

Wprowadź informacje w polu "Nazwa witryny" i "URL" dwie formy, a następnie kliknij przycisk "Wyślij", to wyświetli wyniki.


Przykłady metody POST formularza

Użyjmy metody POST do przesyłania danych formularza i modyfikować main.jsp Hello.htm kod pliku w następujący sposób:

main.jsp kod pliku:

<%@ 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>

Kod używamy new String ((request.getParameter ( "nazwa ")). GetBytes ( "ISO-8859-1"), "UTF-8") do konwersji kodu, zapobiegają występowaniu Chiński zniekształcone.

Oto test.htm Kod modyfikowany:

<!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>

Odwiedzając http: // localhost: 8080 / testjsp / test.html main.jsp przedstawić dane formularza do pliku, pokazano demo Gif poniżej:


Checkbox przekazania danych do programu JSP

pole wyboru może przekazać jeszcze więcej danych.

Poniżej znajduje się prosty kod HTML i kod jest przechowywany w pliku 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>

Powyższy kod w przeglądarce, aby uzyskać dostęp do następujących:

Poniżej main.jsp kod pliku w polu przetwarzania danych:

<%@ 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>

Odwiedzając http: // localhost: 8080 / testjsp / test.html main.jsp przedstawić dane formularza do pliku, pokazano demo Gif poniżej:


Przeczytaj wszystkie parametry formularza

Poniżej będziemy używać getParameterNames HttpServletRequest (), aby odczytać wszystkie parametry postaci, sposób można uzyskać nazwy wszystkich zmiennych, metoda zwraca wyliczenie.

Gdy mamy wyliczanie (wyliczenie), możemy wywołać hasMoreElements () w celu ustalenia, czy istnieją elementy, a korzystanie z nextElement metoda (), aby uzyskać nazwę każdego parametru.

<%@ 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>

Poniżej znajduje się treść pliku 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>

Teraz możemy przedstawić za pomocą plików danych wyjściowych wyników Dostęp przeglądarka test.htm przedstawiają się następująco:

Odwiedzając http: // localhost: 8080 / testjsp / test.html main.jsp przedstawić dane formularza do pliku, pokazano demo Gif poniżej:

Można spróbować użyć więcej niż kodu JSP przeczytaniu innych przedmiotów, takich jak pola tekstowe, przyciski radiowe, pudełka rozwijanej lub podobnych innych form danych.