자바 경로 문제 소결

2260 단어 자바 기반
[b]1.user.dir[/b]

// ; , 。
// java (d:\workspace\app)
// javaweb
//( Tomcat F:\Tomcat 6.0\bin)
System.getProperties("user.dir")

[b]2.classes 디 렉 터 리[/b]
말 그대로 클래스 파일 을 저장 하 는 루트 디 렉 터 리 를 말 합 니 다.
[list]
[*]일반 자바 프로그램의 classes 디 렉 터 리 는 app\bin 을 가리킨다.
[*]웹 프로젝트 의 classes 디 렉 터 리 는 app\WebRoot\WEB-INF\classes 를 말 합 니 다.
[/list]

// web
//s: classes ( TestClass )
// app\bin\com\test
// app\WebRoot\WEB-INF\classes\com\test
//ss: classes
// app\bin
// app\WebRoot\WEB-INF\classes
com.test.TestClass c=new com.test.TestClass();
String s=c.getClass().getResource("").getPath();
String ss=c.getClass().getClassLoader().getResource("").getPath();

[b]3.웹 프로젝트 루트 디 렉 터 리(서버 발표 후)app\[/b]
(1)ServeletContext 의 getRealPath()방법 에 따라 절대 경 로 를 얻는다.

// "app" f:\tomcat 6.0\webapps\app
// 、 "app\" f:\tomcat 6.0\webapps\app\
getServletContext.getRealPath("");
getServletContext.getRealPath("\\");
getServletContext.getRealPath("/");

(2)HttpServletRequest 의 getContextPath()방법 에 따라 상대 경 로 를 획득

getRequest().getContextPath();

[b]4.struts 2 프레임 워 크 에서 발 표 된 웹 프로젝트 의 루트 디 렉 터 리[/b]를 가 져 옵 니 다.

// ServletActionContext
String real=ServletActionContext.getServletContext().getRealPath("");
String relative=ServletActionContext.getRequest().getContextPath());

user.dir 의 값 을 사용 하면 획득 하 는 경 로 는%Tomcat 입 니 다.Home%\bin 이 므 로 user.dir 라 는 환경 변 수 를 사용 하여 경 로 를 가 져 오 는 것 을 추천 하지 않 습 니 다.
[color=red]초보 자 에 게 자바 프로젝트 의 개발 디 렉 터 리 와 디 렉 터 리 를 발표 하 는 정 보 를 알 아 내 는 것 이 필요 하 다.특히 통합 개발 환경 에서 디 렉 터 리 의 배정 이 투명 하고 개발 환경 에서 벗 어 나 면 많은 초보 자 들 이 프로젝트 디 렉 터 리 구조 에 막막 하 다.[/color]
[url="http://383984216-qq-com.iteye.com/admin/blogs/1149024"][b][color=violet]전재 출처 를 밝 혀 주 십시오.http://383984216-qq-com.iteye.com/admin/blogs/1149024[/color][/b][/url]

좋은 웹페이지 즐겨찾기