English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Quando navegamos na web, frequentemente precisamos enviar informações para o servidor e permitir que o programa backend lidere.
O método GET adiciona as informações de codificação da solicitação no final da URL, a URL e as informações de codificação são separadas pelo caractere "?". Veja a seguir:
http://pt.oldtoolbag.com/hello?key1=value1&key2=value2
O método GET é o método padrão do navegador para passar parâmetros, é recomendável não usar o método GET para informações sensíveis, como senhas.
Quando usar get, o tamanho dos dados transmitidos é limitado (não é o número de parâmetros que é limitado), o maior é1024bytes.
Informações sensíveis, como senhas, podem ser passadas usando o método POST, o envio de dados por POST é implícito.
Os dados enviados por POST são invisíveis, GET passa os dados dentro da URL (pode verificar a barra de endereços do seu navegador).
O JSP usa getParameter() para obter os parâmetros passados, o método getInputStream() é usado para lidar com solicitações de fluxo de dados binário do cliente.
getParameter(): Usar o método request.getParameter() para obter o valor do parâmetro do formulário.
getParameterValues(): Obter dados como checkbox (nomes iguais, mas valores múltiplos). Receber variáveis de array, como checkbox
getParameterNames():Este método pode obter o nome de todas as variáveis, retornando um Enumeration.
getInputStream():Chame este método para ler o fluxo de dados binário do cliente.
A seguir está um URL simples, usando o método GET para passar os parâmetros do URL:
http://localhost:8080/testjsp/main.jsp?name=基础教程网&url=http://ww.oldtoolbag.com
testjsp é o endereço do projeto.
A seguir está o programa JSP do arquivo main.jsp, usado para lidar com dados de formulário enviados pelo cliente, usamos o método getParameter() para obter os dados enviados:
<%@ 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>Site de Tutoriais Básicos(oldtoolbag.com)</title> </head> <body> <h1>Ler dados usando o método GET</h1> <ul> <li><p><b>Nome do site:</b>/b> <%= request.getParameter("name") %> </p></li> <li><p><b>Endereço web:</b>/b> <%= request.getParameter("url") %> </p></li> </ul> </body> </html>
A seguir, acessamos o http: através do navegador//localhost:8080/testjsp/main.jsp?name=JSP教程&url=http://ww.w3Os resultados de codebox.com são exibidos da seguinte forma:
A seguir está um formulário HTML simples, que envia dados do cliente usando o método GET até main.jsp No arquivo:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Site de Tutoriais Básicos(oldtoolbag.com)</title> </head> <body> <form action="main.jsp" method="GET"> Nome do site: <input type="text" name="name"> <br /> Endereço da web: <input type="text" name="url" /> <input type="submit" value="Enviar" /> </form> </body> </html>
Salve o código HTML acima no arquivo test.htm. Coloque esse arquivo na pasta WebContent do projeto jsp atual (no mesmo diretório do main.jsp).
Através de acesso http://localhost:8080/testjsp/test.html Enviar dados do formulário para o arquivo main.jsp, conforme mostrado na figura a seguir:
Preencha as informações nos campos "Nome do site" e "Endereço web" dos formulários e clique no botão "Enviar", ele exibirá os resultados.
Vamos usar o método POST para passar dados do formulário. Modificamos o código dos arquivos main.jsp e Hello.htm da seguinte forma:
Código do 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>Site de Tutoriais Básicos(oldtoolbag.com)</title> </head> <body> <h1>Ler dados usando o método POST</h1> <ul> <li><p><b>Nome do site:</b>/b> <% // Resolver problemas de acentuação chinesa String name = new String((request.getParameter("name")).getBytes("ISO-8859-1"),"UTF-8); %> <%= name %> </p></li> <li><p><b>Endereço web:</b>/b> <%= request.getParameter("url") %> </p></li> </ul> </body> </html>
No código, usamos new String((request.getParameter("name")).getBytes("ISO-8859-1"),"UTF-8")Converter a codificação para evitar problemas de acentuação chinesa.
A seguir está o código modificado do test.htm:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Site de Tutoriais Básicos(oldtoolbag.com)</title> </head> <body> <form action="main.jsp" method="POST"> Nome do site: <input type="text" name="name"> <br /> Endereço da web: <input type="text" name="url" /> <input type="submit" value="Enviar" /> </form> </body> </html>
Através de acesso http://localhost:8080/testjsp/test.html Enviar dados do formulário para o arquivo main.jsp, conforme exemplo a seguir:
A caixa de seleção checkbox pode passar um ou mais dados.
A seguir está um código HTML simples, salvo no arquivo test.htm:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Site de Tutoriais Básicos(oldtoolbag.com)</title> </head> <body> <form action="main.jsp" method="POST" target="_blank"> <input type="checkbox" name="google" checked="checked" /> Google <input type="checkbox" name="w3codebox /> Site de Tutoriais Básicos <input type="checkbox" name="taobao" checked="checked" />淘宝 <input type="submit" value="Selecionar Site" /> </form> </body> </html>
O código acima é exibido no navegador da seguinte forma:
A seguir está o código do arquivo main.jsp, usado para processar dados de caixas de seleção:
<%@ 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>Site de Tutoriais Básicos(oldtoolbag.com)</title> </head> <body> <h1>Ler dados de caixas de seleção</h1> <ul> <li><p><b>Se o Google foi selecionado:</b> <%= request.getParameter("google")%> </p></li> <li><p><b>Se o site básico de tutoriais foi selecionado:</b> <%= request.getParameter("w3codebox")%> </p></li> <li><p><b>Se o Taobao foi selecionado:</b> <%= request.getParameter("taobao")%> </p></li> </ul> </body> </html>
Através de acesso http://localhost:8080/testjsp/test.html Enviar dados do formulário para o arquivo main.jsp, conforme exemplo a seguir:
após clicar em "Selecionar site":
A seguir, usaremos HttpServletRequest do getParameterNames() para ler todos os parâmetros do formulário, este método pode obter todos os nomes das variáveis e retorna um enumeração.
Uma vez que temos um Enumeration (enumeração), podemos chamar o método hasMoreElements () para determinar se há mais elementos e usar o método nextElement () 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>Site de Tutoriais Básicos(oldtoolbag.com)</title> </head> <body> <h1>Ler todos os parâmetros do formulário</h1> <table width="100%" border="1" align="center"> <tr bgcolor="#949494"> <th>Nome do parâmetro</th><th>Parâmetro de valor</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>
A seguir está o conteúdo do arquivo test.htm:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Site de Tutoriais Básicos(oldtoolbag.com)</title> </head> <body> <form action="main.jsp" method="POST" target="_blank"> <input type="checkbox" name="google" checked="checked" /> Google <input type="checkbox" name="w3codebox /> Site de Tutoriais Básicos <input type="checkbox" name="taobao" checked="checked" /> Taobao <input type="submit" value="Selecionar Site" /> </form> </body> </html>
Agora, vamos acessar o arquivo test.htm pelo navegador para enviar dados, e o resultado será como follows:
Através de acesso http://localhost:8080/testjsp/test.html Enviar dados do formulário para o arquivo main.jsp, conforme exemplo a seguir:
Após clicar em "Selecionar Site":
Você pode tentar usar o código JSP acima para ler outros objetos, como caixas de texto, botões de rádio ou caixas de seleção, etc.