Latest web development tutorials

processamento de formulários JSP

Nós navegar na Web, muitas vezes você precisa enviar informações para o servidor, e deixar que o processo de daemon. O navegador usa o método GET e POST para enviar dados para o servidor.


método GET

GET método de codificação de solicitação de informações para adicionar à URL, informação de codificação URL através do "?" Separados por. Como se segue:

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

método GET é um método de passar parâmetros navegador padrão, informações confidenciais, tais como senhas e outras recomendadas para não usar o método GET.

Se utilizados, o tamanho dos dados de transmissão é limitado (notar o número de parâmetros não é restrito), até 1024 bytes.


método POST

informações confidenciais, como senhas e assim podemos passar o método POST, POST para enviar dados está implícita.

POST para enviar dados não estiver visível, GET é passado através da url dentro (você pode olhar para barra de endereços do seu navegador).

JSP usando o getParameter () para obter o parâmetro passado, getInputStream () método é usado para processar o fluxo de solicitação de dados binários de clientes.


JSP dados do formulário é lido

  • getParameter (): Use request.getParameter () para obter o valor do parâmetro de formulário.

  • getParameterValues (): chegar o mais classe caixa (o mesmo nome, mas uma pluralidade de valores) de dados.Recebendo uma série de variáveis, tais como a caixa de seleção Tipo

  • getParameterNames (): Este método pode obter os nomes de todas as variáveis, o método retorna uma Emumeration.

  • getInputStream (): Este método é chamado para ler o fluxo de dados binários a partir do cliente.


Exemplos de utilização do método de URL GET

O que se segue é uma URL simples, e usa o método GET para passar parâmetros na URL:

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

endereço testjsp para o projeto.

O seguinte é o arquivo de programa main.jsp JSP para os dados de processamento apresentadas pelo cliente, usamos o método getParameter () para obter os dados apresentados:

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

Em seguida, visitar o http navegador: // localhost: 8080 / testjsp / name = main.jsp Este tutorial & url = http :? //ww.w3big.com resultados de saída são as seguintes:


Use o método de formulário GET do Exemplo

O que se segue é um formulário HTML simples, que vai ser apresentado pelo método GET para main.jsp arquivo de dados de cliente:

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

Salve o código HTML acima em arquivo test.htm. Coloque o arquivo no diretório atual no âmbito do projecto WebContent jsp (com main.jsp mesmo diretório).

Ao visitar http: // localhost: 8080 / testjsp / test.html main.jsp enviar os dados para um arquivo, Gif demonstração mostrado abaixo:

Preencha as informações no "nome do site" e "URL" dois formulário, e clique no botão "Enviar", ele irá imprimir os resultados.


Exemplos de método POST do formulário

Vamos usar o método POST para transmitir os dados do formulário e modificar main.jsp código de arquivo Hello.htm da seguinte forma:

código de arquivo 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>

Código usamos new String ((request.getParameter ( "nome ")). GetBytes ( "ISO-8859-1"), "UTF-8") para converter código, prevenir a ocorrência de ilegível chinês.

Aqui está a test.htm código modificado:

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

Ao visitar http: // localhost: 8080 / testjsp / test.html main.jsp enviar os dados para um arquivo, Gif demonstração mostrado abaixo:


Dados passe caixa de seleção para programa de JSP

checkbox checkbox pode passar um ainda mais dados.

O que se segue é um código HTML simples e código é armazenado no arquivo 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>

O código acima no navegador para acessar o seguinte:

O seguinte é o código de arquivo main.jsp caixa de processamento de dados para:

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

Ao visitar http: // localhost: 8080 / testjsp / test.html main.jsp enviar os dados para um arquivo, Gif demonstração mostrado abaixo:


Leia todos os parâmetros de formulário

Abaixo, vamos usar os getParameterNames HTTPServletRequest () para ler todos os parâmetros do formulário, o método pode obter os nomes de todas as variáveis, o método retorna uma enumeração.

Uma vez que temos uma enumeração (enumeração), podemos chamar hasMoreElements () método para determinar se há elementos, eo uso de nextElement () método para obter o nome de cada parâmetro.

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

O seguinte é o arquivo test.htm conteúdo:

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

Agora vamos enviar arquivos de dados através de resultados de saída de acesso do browser Test.htm são os seguintes:

Ao visitar http: // localhost: 8080 / testjsp / test.html main.jsp enviar os dados para um arquivo, Gif demonstração mostrado abaixo:

Você pode tentar usar mais de código JSP leitura de outros objetos, como caixas de texto, botões de rádio, caixas suspensas ou semelhantes a outras formas de dados.