2012-11-28 3 views
1

이미지를로드해야하는 애플릿을 작성하고 있습니다. 애플릿 뷰어를 통해 실행하면 모든 것이 정상적으로 작동하므로 내 코드가 모두 설정되어야합니다. 그래도 브라우저에서 열려고하면 읽기 권한이 없다는 AccessControlException 오류가 발생합니다. 애플릿이 클라이언트의 컴퓨터에있는 파일에 액세스하려고하기 때문에 이것이 정상적으로 이해됩니다. 내 .Java, .class 및 .html 파일은 C:/Java에 있으며로드해야하는 이미지는 C:/Java/Images에 있으므로 액세스가 가능해야한다고 생각합니까? 애플릿에 이러한 이미지를 간단한 방법으로로드 할 수있는 방법이 있습니까?Java 애플릿에서 이미지로드 중 AccessControlError

답변

1

브라우저에서 실행중인 애플릿에는 로컬 파일 시스템에서 파일을 열 수있는 권한이 없습니다.

이미지를 jar 파일에 추가 한 다음 getClass().getResource() 또는 getClass().getResourceAsStream()을 사용하여 이미지를로드해야합니다.

편집 : Here is an example 애플릿에서 이미지를로드하는 방법을 보여줍니다.

+0

* "jar 파일에 이미지를 추가해야합니다."* 또는 '홈 서버'. –

+0

예, 통신 할 애플릿을 서버에 추가하는 것은 확실히 효과가 있지만, OP가 원하는 것 이상일 것입니다. 그리고 나는 파일 시스템에서 html 파일을 여는 것으로 추측합니다. 서버를 사용하지 않습니다. – GreyBeardedGeek

+1

당신은 소리가 힘들어! URL url = 새로운 URL (getDocumentBase(), image42.jpg ");'는 HTML과 같은 디렉토리에있는 이미지 URL을 형성합니다. –