2012-04-08 3 views
4

자바로 웹 페이지에 삽입되지만 페이지의 URL이 동적 인 애플릿을 만들고 있습니다. 애플릿이 실행되고있는 페이지의 현재 URL을 가져올 수 있어야합니다. 누구든지이 작업을 수행하는 방법을 알고 있습니까?Java 애플릿이 현재 실행되고있는 웹 페이지의 URL을 얻으려면 어떻게해야합니까?

+0

'동적'으로 말하면 이름/값 쌍이있는 URL을 의미합니까? 예제 URL을주세요. –

+0

* "현재 URL을 가져올 수 있어야합니다."* 왜 정확합니까? 그러한 정보를 알면 구현하려는 기능은 무엇입니까? –

+0

역동적으로 나는 단지 정적이 아니라는 것을 의미합니다. 그것은 바뀔 수 있습니다. Andrew, 애플릿은 웹 페이지에 임베드 될 것이고, URL에 URLConnection을 여는 몇 개의 버튼을 포함하고 있지만, URL은 정적이 아닙니다. 단추 중 하나가 연결을 여는 URL (예 : currentURL/someFolder/someOtherFolder/ ) 현재 URL은 변경되지 않으며 일시적으로 다른 URL로 연결됩니다. – MasterPpv

답변

4

getDocumentBase()


이 getDocumentBase 사용을 참조하십시오() 실제로 나에게 그것은 여기 잘 작동

는 NullPointerException을 ...했다. 방금이 코드를 사용하여 테스트했습니다.

// <applet code=MyLocation width=400 height=30></applet> 
import javax.swing.*; 

public class MyLocation extends JApplet { 

    @Override 
    public void init() { 
     add(new JLabel(getDocumentBase().toString())); 
    } 
} 

은의 소스를 저장 한 후 다음을 수행 & 실행을 컴파일합니다.

prompt> javac MyLocation.java 
prompt> appletviewer MyLocation.java 

두 번째 줄의 .java 확장자는 오타가 아닙니다. 애플릿 뷰어의 최신 버전은 지정된 소스 코드에서 주석에 정의 된 applet 요소를 찾습니다.

+0

감사합니다. 그리고 네, 시간이되면 설명서를 읽으 려합니다. 나는 여름을 기다릴 수 없어 결국 마침내 읽을 수있는 시간을 가질 수 있습니다. – MasterPpv

+0

흠 ... getDocumentBase()를 사용하면 실제로 NullPointerException이 발생했습니다 ... – MasterPpv

+0

업데이트를 확인하십시오. 코드를 저장하고 표시된 2 개의 명령을 사용하여 실행 한 후 어떤 결과가 나타 납니까? 여기서 소스 코드를 가리키는 파일 기반 URI를 포함하는 애플릿을 볼 수 있습니다. –

0

그것은 다음과 같이 작동합니다 :

[YourApplet].getCodeBase(); 

이 방법은 당신에게 URL 객체를 반환합니다. 그렇다면 당신이 필요로하는 것을 얻습니다 :

+3

getCodeBase() 대답이 잘못되었습니다. 애플릿 요소가 현재 디렉토리가 아닌 코드베이스 (* 지정되지 않은 경우 기본값)를 지정하면 코드 기반은 HTML과 동일한 위치 (문서 기반)를 가리 키지 않습니다 ***. . –

+0

aa okay ... 그래서 URL 객체를 반환 하겠지만이 위치는 완전히 다른 위치를 가리킬 수 있습니다 ... 이제는 차이가 있습니다 :) thanks – Reshi

+0

대단합니다. :) –

관련 문제