Quando navegamos na web, muitas vezes precisamos enviar informações ao servidor e deixar que o programa em segundo plano as processe. O navegador usa os métodos GET e POST para enviar dados ao servidor.
O método GET adiciona as informações de codificação solicitadas após o URL, e o URL e as informações de codificação são separados por um símbolo "?". Conforme mostrado abaixo:
//www.w3cschool.cn/hello?key1=value1&key2=value2
O método GET é o método padrão para os navegadores passarem parâmetros. É recomendado não usar o método GET para algumas informações confidenciais, como senhas.
Ao usar get, o tamanho dos dados transmitidos é limitado (observe que o número de parâmetros não é limitado) e o máximo é 1.024 bytes.
Podemos passar algumas informações confidenciais, como senhas, etc. através do método POST, e os dados pós-envio ficam implícitos.
Os dados enviados pelo POST ficam invisíveis e o GET é passado na URL (você pode olhar na barra de endereço do seu navegador).
JSP usa getParameter() para obter os parâmetros passados, e o método getInputStream() é usado para lidar com a solicitação de fluxo de dados binários do cliente.
getParameter(): Use o método request.getParameter() para obter o valor do parâmetro do formulário.
getParameterValues(): obtém dados como classe de caixa de seleção (mesmo nome, mas vários valores). Receber variáveis de array, como tipo de caixa de seleção
getParameterNames(): Este método pode obter os nomes de todas as variáveis. Este método retorna uma enumeração.
getInputStream(): chame este método para ler o fluxo de dados binários do cliente.
A seguir está uma URL simples e usa o método GET para passar os parâmetros na URL:
http://localhost:8080/main.jsp?first_name=ZARA&last_name=ALI
A seguir está o programa JSP do arquivo main.jsp para processar os dados do formulário enviados pelo cliente. Usamos o método getParameter() para obter os dados enviados:
<html><head><title>Usando o método GET para ler dados de formulário</title></head><body><center><h1>Usando o método GET para ler dados de formulário</h1><ul><li> <p><b>Nome:</b> <%= request.getParameter("first_name")%></p></li><li><p><b>Sobrenome:</b> <%= request.getParameter("último_nome")%></p></li></ul></body></html>
A seguir, acessamos http://localhost:8080/main.jsp?first_name=ZARA&last_name=ALI através do navegador. Os resultados de saída são os seguintes:
Usando o método GET para ler o formulário DataFirst Name: ZARALast Name: ALI
A seguir está um formulário HTML simples que envia dados do cliente para o arquivo main.jsp por meio do método GET:
<html><body><form action="main.jsp" method="GET">Nome: <input type="text" name="first_name"><br />Sobrenome: <input type="text " name="last_name" /><input type="submit" value="Enviar" /></form></body></html>
Salve o código HTML acima no arquivo Hello.htm. Coloque este arquivo no diretório /webapps/ROOT. Acessando http://localhost:8080/Hello.htm , a interface de saída é a seguinte:
Preencha os dados dos formulários “Nome” e “Sobrenome” e clique no botão “Enviar”, serão exibidos os resultados.
A seguir, vamos usar o método POST para transferir dados do formulário e modificar os códigos dos arquivos main.jsp e Hello.htm da seguinte forma:
Código do arquivo main.jsp:
<html><head><title>Usando os métodos GET e POST para ler dados de formulários</title></head><body><center><h1>Usando os métodos GET para ler dados de formulários</h1><ul>< li><p><b>Nome:</b> <%= request.getParameter("first_name")%></p></li><li><p><b>Sobrenome:</ b> <%= request.getParameter("último_nome")%></p></li></ul></body></html>
A seguir está o código modificado de Hello.htm:
<html><body><form action="main.jsp" method="POST">Nome: <input type="text" name="first_name"><br />Sobrenome: <input type="text " name="last_name" /><input type="submit" value="Enviar" /></form></body></html>
Acesse http://localhost:8080/Hello.htm através do navegador, a saída é a seguinte:
Preencha os dados dos formulários “Nome” e “Sobrenome” e clique no botão “Enviar”, serão exibidos os resultados.
A caixa de seleção da caixa de seleção pode passar um ou até vários dados.
A seguir está um código HTML simples e salve o código no arquivo CheckBox.htm:
<html><body><form action="main.jsp" method="POST" target="_blank"><input type="checkbox" name="maths"checked="checked" /> Matemática<input type= "checkbox" name="física" /> Física<input type="checkbox" name="química" verificada="checked" /> Química<input type="submit" value="Selecionar Assunto" /></form> </body></html>
A seguir está o código do arquivo main.jsp, usado para processar dados da caixa de seleção:
<html><head><title>Leitura de dados de caixa de seleção</title></head><body><center><h1>Leitura de dados de caixa de seleção</h1><ul><li><p><b>Sinalizador matemático :</b> <%= request.getParameter("maths")%></p></li><li><p><b>Sinalizador de Física:</b> <%= request.getParameter("physics")%></p></li><li><p><b>Sinalizador de Química:</b> <%= request.getParameter("chemistry")%></p </li></ul></body></html>
O resultado de saída do exemplo acima é:
Abaixo usaremos getParameterNames() do HttpServletRequest para ler todos os parâmetros do formulário disponíveis. Este método pode obter os nomes de todas as variáveis.
Assim que tivermos uma Enumeração, podemos chamar o método hasMoreElements() para determinar quando parar de usá-la e o método nextElement() para obter o nome de cada parâmetro.
<%@ page import="java.io.*,java.util.*" %><html><head><title>Exemplo de solicitação de cabeçalho HTTP</title></head><body><center><h2 >Exemplo de solicitação de cabeçalho HTTP</h2><table align="center"><tr bgcolor="#949494"><th>Nome do parâmetro</th><th>Valor(es) do parâmetro</th></tr ><% Parâmetros de enumeração = request.getParameterNames(); while(paramNames.hasMoreElements()) { String paramName = (String)paramNames.nextElement(); "); String paramValue = request.getParameter(paramName); out.println("<td> " + paramValue + "</td></tr>n"); }%></table></center></body></html>
A seguir está o conteúdo do arquivo Hello.htm:
<html><body><form action="main.jsp" method="POST" target="_blank"><input type="checkbox" name="maths"checked="checked" /> Matemática<input type= "checkbox" name="física" /> Física<input type="checkbox" name="química" verificada="checked" /> Química<input type="submit" value="Selecionar Assunto" /></form> </body></html>
Agora acessamos o arquivo Hello.htm através do navegador e enviamos os dados.
Você pode tentar usar o código JSP acima para ler outros objetos, como caixas de texto, botões de opção ou caixas suspensas e outras formas de dados.