Latest web development tutorials

JSP обработки формы

Мы просматривать Интернет, часто вам нужно представить информацию на сервер, и пусть процесс демона. Браузер использует GET и POST метод для отправки данных на сервер.


метод GET

GET способ кодирования запроса информации для добавления к URL, информации кодирования URL через "?" Разделенные. Как следует:

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

Метод GET является метод передачи параметров по умолчанию браузер, конфиденциальную информацию, такую ​​как пароли и другие не рекомендуется использовать метод GET.

Привыкайте, размер данных передачи ограничена (обратите внимание, число параметров не ограничен), до 1024 байт.


метод POST

Конфиденциальную информацию, такую ​​как пароли и поэтому мы можем передать метод POST, POST для отправки данных неявно.

POST представить данные не видны, то приобретите проходит через внутренний URL (вы можете посмотреть на адресную строку браузера).

JSP с использованием getParameter (), чтобы получить переданный параметр, метод getInputStream () используется для обработки потока запроса двоичных данных клиентов.


JSP формы данные считываются

  • getParameter (): метод использования request.getParameter () , чтобы получить значение параметра формы.

  • getParameterValues (): получить как CheckBox класса ( с тем же именем, но множество значений) данных.Прием массив переменных, таких как тип флажок

  • getParameterNames (): Этот метод может получить имена всех переменных, метод возвращает Emumeration.

  • getInputStream (): Этот метод вызывается , чтобы прочитать двоичный поток данных от клиента.


Примеры использования метода URL GET

Ниже приведен простой URL, и использует метод GET для передачи параметров в URL:

http://localhost:8080/testjsp/main.jsp?name=本教程&url=http://ww.w3big.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>本教程(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: // локальный: 8080 / testjsp / имя main.jsp = Этот учебник и URL = HTTP :? //ww.w3big.com Вывод результатов заключаются в следующем:


Используйте метод GET формы из примера

Ниже приводится простая форма HTML, который будет представлен методом GET в main.jsp файл данных клиента:

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

Сохранить выше HTML код в файл test.htm. Поместите файл в текущей директории под WebContent Jsp проекта (с main.jsp той же директории).

Посетив HTTP: // локальный: 8080 / testjsp / test.html main.jsp отправить форму данные в файл, Gif демо показано ниже:

Заполните информацию в поле "Название сайта" и "URL" две формы, и нажмите на кнопку "Отправить", он будет выводить результаты.


Примеры метода 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 ( "Name ")). 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: // локальный: 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: // локальный: 8080 / testjsp / test.html main.jsp отправить форму данные в файл, Gif демо показано ниже:


Читать все параметры формы

Ниже мы будем использовать 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>本教程(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: // локальный: 8080 / testjsp / test.html main.jsp отправить форму данные в файл, Gif демо показано ниже:

Вы можете попробовать использовать более JSP считывание кода другие объекты, такие как текстовые поля, радио-кнопки, раскрывающиеся окна или, как и другие формы данных.