2011-12-31 2 views
1

나는 데이터베이스에서 일부 쿼리를 수행 한 다음 일부 웹 페이지의 파일 경로를 반환하는 java tomcat 프로젝트를 수행하고 있습니다.생성 된 java tomcat 링크가 작동하지 않습니다.

이제 web.xml에서 유일한 클래스를 매핑했고 webapp는 로컬 디스크의 일부 html 페이지에 해당하는 url 목록을 반환합니다. webapp에서 사이드 프레임을 설정하고, "file : /// file_path_of_html_page"와 같은 출력 페이지에 결과를 출력하고이 링크를 클릭하면 사이드 프레임에 html 페이지가 표시됩니다.

실제로 링크가 제대로되어 있지만 실제로 클릭하면 아무 것도 나타나지 않아 크롬에서 "로컬 리소스를로드 할 수 없습니다"라고 알려줍니다. 심지어 내가 target = "_ blank"를 설정해도 링크가 작동하지 않습니다. 그러나 "file : /// 파일 경로"는 주소 표시 줄에 모두 입력해도 괜찮습니다. 이클립스 프로젝트 폴더에있는 모든 html 페이지를 이동했지만 도움이되지 않았다.

간단한 작업을 수행하기위한 제안이 있으십니까?

답변

4

부모 자원이 자체적으로 http:// 이상으로 제공되는 경우 보안상의 이유로 평균 브라우저에서 file:// 리소스를 열 수 없습니다. 당신이 그들에게 완전 http:// 링크를 만들면 제대로 작동합니다.

브라우저가 허용하더라도 다른 웹 서버에 웹 응용 프로그램을 게시 할 때이 접근 방식은 작동하지 않습니다. file:// 리소스는 클라이언트 (웹 브라우저 사용자)가 사용하고있는 로컬 디스크 파일 시스템을 참조합니다. 이것은 보통 물리적으로 다른 기계입니다. file:// 링크를 작동 시키려면 클라이언트가 자체 로컬 디스크 파일 시스템에있는 해당 자원의 사본을 미리 가지고 있어야합니다.

웹 페이지의 공개 웹 루트 (일반적으로 JSP 파일 등을 두는 곳)에 HTML 페이지를 놓고 (관련) http:// 링크를 사용하여 HTML 페이지를 참조하십시오. 예를 들어, http://localhost:8080/contextname/some.jsp

<a href="some.html">link to some html file</a> 

에 다음 링크는 http://localhost:8080/contextname/some.html 파일을 열 것입니다.

+0

내 문제를 해결해 주셔서 감사합니다! 웹 앱에 대해 더 많이 알 필요가 있습니다. 그리고 새해 복 많이 받으세요! – darkjh

+0

반갑습니다. – BalusC

관련 문제