Visão geral da comunicação HTTP
A comunicação HTTP tem duas maneiras de postar e obter. O primeiro envia dados para o servidor através da entidade da mensagem HTTP, que é altamente segura e não tem limite no tamanho da transmissão de dados. Texto No entanto, a solicitação GET não está despreparada -a solicitação GET é usada principalmente para consultar (Leia Recursos), o que é eficiente. As solicitações de postagem são usadas para operações de alta segurança, como registro e login e gravação de dados no banco de dados.
Além de postar e obter, existem outras maneiras de se comunicar com o HTTP! Consulte o método de solicitação HTTP
Preparação antes da codificação
Antes da codificação ser realizada, primeiro criamos um servlet, que recebe os parâmetros do cliente (nome e idade) e responde ao cliente.
@WebServlet (urlpatterns = {"/demo.do"}) classe pública DemosServlet estende httpServlet {prive estático final longo serverversionuid = 1l; "); Response.SetContentType (" Texto/html; charset = utf-8 "); Nome da String = RequestParameter (" Nome "); GE"); o serviço por get. Lança serviceTexception, ioexception f-8 "); resposta.setContentType (" text/html; charset = utf-8 "); nome da string = request. ; ;}}Use o JDK para implementar a comunicação HTTP
Use UrlConnection para implementar solicitações de obter
Examine um objeto java.net.url;
Obtenha um java.net.urlConnection através do método OpenConnection () do objeto URL;
Obtenha o fluxo de entrada através do método getInputStream () do objeto URLConnection;
Leia o fluxo de entrada;
Recursos próximos.
Public void get () lança exceção {url url = new url ("http://127.0.0.1/http/demo.name=jack&age=10"); New BufferReader (novo InputStreamReader (UrlConnection.getInputStream (), "UTF-8"); ) {sb.append (linha + "/n");} system.out.println (sb.toString ());}Use httpurlconnection para implementar a solicitação de postagem
java.net.httpurlConnection é uma subclasse de java.net.url, fornecendo mais operações no HTTP (métodos getxxx e setxxx). Esta classe define uma série de códigos de status HTTP:
Public void post () lança ioexception {url url = novo url ("http: //127.0.0.0.1/http/demo.do"); SetDoOutput (true); (httpurlconnection.getOutputStream ()); Flutue (); ) {// leia dados sb.append (linha + "/n");} system.out.println (sb.toString ());}Use httpclient para comunicação http
O HTTPClient simplifica bastante a implementação da comunicação HTTP no JDK.
Dependência do Maven:
<Ependency> <voundId> org.apache.httpcomponents </groupiD> <TRAFACTID> httpclient </sutifactId> <versão> 4.3.6 </versão </dependency>
Obtenha solicitação
Public void httpclientget () lança exceção {// crie o objeto httpclient httpclient client = httpclients.createFault (); 40 "); // Chame o método de execução do objeto httpclient para obter a resposta HTTPRESPOnsion Response = client.execute (get); // chama httpResponse o método getentity do objeto SE obtém a entidade de resposta httPentity httPentity = resposta.getentity ( );Solicitação de postagem
public void httppclientPost () lança exceção {// Crie httpclient objeto httpclient client = httpclients.createFault (); ; San ")); parâmetros.add (new BasicNameValuepair (" Age "," 25 ")); // Adicione a entidade da mensagem Post.SetEntity (New UrlencodedFormentity (parâmetros," utf- 8 ")); // Obtenha a resposta e converta-o em uma string httpronse Response = client.execute (post); ;}O HTTPClient é um sub-projeto no Apache Jacarta Common para fornecer kits de ferramentas de programação de clientes eficientes e ricos em recursos que suportam o protocolo HTTP e suporta as versões e sugestões mais recentes do protocolo HTTP. O HTTPClient foi aplicado a muitos projetos, como os outros dois projetos de código aberto do Apache Jakarta Cactus e Htmlunit usam o HTTPClient.