[Resolvido] Fazer requisições web direto do servidor e receber o retorno das mesmas
8 respostas
Rafael_Guerreiro
Bom dia pessoal, tudo bem?
Eu vou iniciar um projeto em VRaptor onde eu vou precisar acessar um link html e recebê-lo como uma grande String para eu manipulá-lo e devolver à view.
Eu, inicialmente, pensei em fazer isso via ajax onde o retorno fosse um html e ao retornar, fazia uma requisição para o servidor com o conteúdo do retorno.
Mas, pensando em uma página realmente grande, isso vai ficar pesado demais se for feito pelo lado do usuário. Então seria legal fazer somente pelo servidor.
Existe alguma forma de fazer isso ou eu estou viajando?
até tem como fazer isso… mas essa tal página grande teria tantas requisições ajax pra isso?
Rafael_Guerreiro
Sim, pois é uma tabela com 2000 registros e cada registro desse tem um link que leva para outra tela, nessa tela tem algumas informações e mais um link para outra tela que tem outra tabela com vários registros…
São 2 requests para cada item dessa tabela, ou seja, um total de 4001 requests…
Lucas_Cavalcanti
Mas esses requests precisam ser feitos necessariamente no load da página? não podem ser feitos qdo o usuário clicar em algum item, daí vc só faz o load desse item?
Rafael_Guerreiro
Sim, é essa a ideia, vai ser uma carga que vai ser executada algumas vezes por mês. Poderá ser um botão que faz isso…
É melhor fazer via browser?
Lucas_Cavalcanti
acho que vc não entendeu o que eu quiz dizer…
vc renderiza no html só a primeira tabela, daí vc só renderiza o item dessa tabela quando ele for clicado.
Rafael_Guerreiro
Ah, não… Na verdade eu vou precisar informar todos os dados de uma única vez… Para fazer isso, eu iria popular uma base de dados e à partir dessa base eu mostro todos.
O problema está na hora de popular essa base…
Lucas_Cavalcanti
e vc vai popular essa base a partir de um monte de htmls, certo?
bom, se isso é uma coisa que vai rodar uma vez por mes, como vc disse, pode fazer do lado do servidor…
isso só vale a pena se for comunicação com outro sistema…
use o HttpClient da apache commons pra fazer as requisições do lado do servidor.
Mas vai demorar um tempo considerável, tente fazer as requisições em paralelo usando um ExecutorService da vida.
Se vc fizer do lado do cliente, vc pode ir mostrando barrinhas de progresso na medida que as requisições vão acontecendo, mas tb vai demorar.
Rafael_Guerreiro
É, foi algo nesse sentido que eu imaginei. Uma thread, com o Executor, que é acionada pelo usuário…
Daí o servidor fica fazendo as requisições…
Assim, todo o processamento é mais rápido e a internet do servidor é mais rápida…
São sistemas diferentes em hospedagens diferentes…