Ler URL do browser

9 respostas
leandrobresolin

Boa tarde folks,

Estou desenvolvendo um applet que será executado no browser (IE, Firefox, Chrome, etc).
Eu gostaria de saber como posso ler a URL da barra de endereços do browser e imprimir em um jTextField, por exemplo?

Obrigado.
Leandro

9 Respostas

makecio

http://download.oracle.com/javaee/5/api/javax/servlet/http/HttpServletRequest.html#getRequestURL()

leandrobresolin

E aí makecio!

Para executar esses comandos eu preciso instalar o J2EE no cliente?

makecio

getRequestURL() é um metodo do que ja esta no java, no maximo tera apenas a necessidade de algum IMPORT.

Acho que nao tera necessidade desta instalação

leandrobresolin

Você saberia me dizer qual é esse import?

Quando eu digito getRequestURL() no netbeans, ele só me dá a opção de criar um método com esse nome.

Luiz_Aguiar

Deletei o outro tópico, não crie dois tópicos para ser “atendido” mais rápido, na próxima vou deletar os dois.

[]s

E

https://jdk6.dev.java.net/plugin2/liveconnect/
https://jdk6.dev.java.net/nonav/plugin2/liveconnect/jsobject-javadoc/
https://jdk6.dev.java.net/plugin2/#COMMON_DOM
http://download.oracle.com/javase/6/docs/jre/api/plugin/dom/index.html

A propósito, se você for ler tudo isso deve descobrir que não respondi como é que se faz para ler a URL do browser dentro de um applet.

Uma forma simples de fazer isso, é claro, é fazer a aplicação Web que hospeda essa applet passar como parâmetro essa URL (que ela obtém via getRequestURL() , como foi sugerido). Mas para a própria Applet descobrir isso, não sei se dá via JSWindow ( não estou achando o javadoc dessa classe ).

leandrobresolin

Boa tarde Luiz
Criei dois tópicos em diferentes categorias (Java Básico e Java Avançado), não em uma mesma categoria, e não foi com a intenção de ser “atendido” mais rápido, e sim por não saber se essa questão poderia ser respondida em uma categoria ou em outra.

Agradeço aos usuários que estão tentando ajudar, pois tenho certeza que essa é a intenção desse Forum, e sinto muito se cometi algo tão “grave” assim a ponto de ser ameaçado a ter minhas mensagens deletadas.

Mais uma vez agradeço à todos!

Leandro

leandrobresolin

Boa tarde entanglement!

Muito obrigado!

leandrobresolin

Pessoal, consegui capturar a URL do browser através de um Applet.
Utilizei a o método getDocumentBase () encontrada em java.applet.Applet.
Ela só vai funcionar quando o Applet é executado através do browser, senão ela retorna NULL.

Segue abaixo a solução:

public void init() {....

     try {

          //Crio uma variável do tipo URL e armazeno a URL do browser
          URL nomeURL = getDocumentBase();

          //Converto para tipo String.
          String strURL= nomeURL.toString();
          
          //O endereço da minha URL tem este formato http://192.168.20.1/,
          //então eu inicio a captura dos dados a partir do 192 e termino em 1, separando-os
          //por (.)
          String AppletIP[] = strURL.substring(7, (strURL.length() - 1)).split("\.");

          String IPPP = null;

          //Aqui eu monto o endereço válido e imprimo o valor final da URL capturada.
          IPAddress = AppletIP[0] + "." + AppletIP[1] + "." + AppletIP[2] + "." + AppletIP[3];
          System.out.println (IPAddress);
                        
     }  catch (Exception e) {
          System.out.println("Erro: " +  e);
     }

...}

A saída fica 192.168.20.1

No exemplo acima eu só trabalho com os números de IP da minha URL, por isso estou eliminando as partes que eu não preciso. Caso a necessidade fosse capturar o endereço inteiro, eu só precisaria usar esse comando
URL nomeURL = getDocumentBase();

Aqui está o fonte da página html rodando no servidor:

<HTML>
<HEAD>
   <TITLE>Applet</TITLE>
</HEAD>
<BODY BGCOLOR="Black">

<CENTER><table cellspacing="1" cellpadding="1" border="0">
<tr>
   	<tr>
                <!-- Minha classe frmPrincipal está na pasta main do servidor, e eu tenho algumas bibliotecas auxiliares por isso eu coloco o archive -->
		<CENTER><APPLET codebase="classes" code="main/frmPrincipal.class" archive="substance.jar, trident.jar, sqlitejdbc-v056.jar, servlet-api.jar" width=780 height=640></CENTER>
	</tr>
</tr>
</table></CENTER> 

</BODY>

</HTML>

Bom pessoal, espero ter ajudado.
Se tiverem alguma dúvida, podem perguntar!

Abraços,
Leandro

Criado 9 de novembro de 2010
Ultima resposta 11 de nov. de 2010
Respostas 9
Participantes 4