What is the best 배치하십시오 구성 파일을 저장할 수 있는 자바 웹 응용 프로그램 (WAR)?

저는 웹 응용 프로그램 작성 및 배포 (전쟁) 에서 이 Tomcat. Webapp) 에 있는 페이지가 양식이 일부 구성 데이터를 관리자가 입력할 수 있습니다. 내가 don& # 39 이 데이터를 저장하는 싶지 않다, 데이터베이스관리시스템 (dbms) 한 것이 아니라, xml 파일에 있는 파일 시스템에서. 여기서 것을?

어디선가 동일팔레트에 싶다 파일 디렉터리 트리와 여기서 응용 프로그램 자체의 구축됨. 내 설정파일에서 할 수 있는 WEB-INF 디렉터리입니다? 또는 다른 곳에 넣어?

무엇이고, Java 코드를 사용할 수 있는 길을 찾기 위해 상대경로를 서브렛 디렉토리에는? 또는 상대 경로로 액세스되어야 수 있는가?

질문에 대한 의견 (1)
해결책

별도의 디렉토에 서버만을 우리가하는 넣을 수 있다 (rec.601 사용할 수 있는 같은 일이 / 구성 / opt / 구성, / root / 구성 / home / username/config, 또는 기타 다른 운영까지도). 시작할 때, 그들은 우리의 servlets XML 파일을 읽을 수 있는 몇 가지 out of it (가장 중요한 것은 DB 연결을 정보), that& # 39 의 거잖나.

우리는 한 번 이런게야 이유에 대해 물었다.

하지만 분명히 DB 에 있는 모든 것이 좋은 저장하였습니다 너회가 can& 정보 DB, DB 연결을 # 39, t 스토어

39, s ugly 코드의 that& 셨으며 하르고데 수 있지만 여러 가지 이유로. 이 경우 정보 판매업체에서 재작성합니다 코드와 재배치합니다 변경할 수 있습니다. 누군가 복사본인 코드 파일 또는 dell. 전쟁 후 해당 정보를 확보하십시오 그들은 다시그것들을 가져옵니다.

파일을 변경할 것을 두고 전쟁을 신앙이니라 수도 있다는 것을 훨씬 좋은 것, 나쁜 발상이다. 문제는 이 경우 정보 선택하고다음을 변경해야 할 때 반드시 재배치합니다 덮어씁니다 뭐든 변화를 가져오는 버전 파일 그러하매 didn& # 39, 잊혀진 전쟁 내장되었을 이보다 더 좋을 순 없다.

우리를 위해 아주 특별한 것이 아니라 파일 시스템에서 파일의 배치하십시오 작동됨. # 39 이 doesn& 없다, 모든 대량량 적지 않다. 어디에 있는지 알아, it& # 39 에 저장된 모든 값을 쉽게 할 수 있다면 다른 여러 머신뿐만 세페라리 수립됩니다 구성용 (이후 it& # 39 에 속하지 않는다는 전쟁).

이 밖에 생각할 수 있는 모든 것은 내가 아니라 솔루션이므로 약간만이라도 DB 로그인 정보 데이터베이스 (db) 를 제외한 협력할 것이라고 말했다. Java 의 특성이 있는 jvm 이 시스템을 통해 읽어들여집니다 나올 것으로 보인다. 위에서 언급한 것은 이 기본설정에는 apiu 한스 도겐. 내가 생각하는 그 때 처음 개발된 응용 프로그램, 그는 주위의 don& t # 39 의 경우 wasn& 알렸어 # 39, t) 를 가리킨다.

39 의 경로를 따라 액세스하면 it& 구성파일입니다, 단순히 파일 시스템의. # 39, 웹 경로를 너회가 don& 걱정할 필요가 없다. 그냥 파일을 열어 dell. &quot /config/myapp/config.xml&quot, 사용자의 서브렛 외면하였나니 시작합니다. (또는 기타), it 발견하리니 옳은 일을. 그냥 한 하르고데링 경로 엔드입니다 다는일은 꽤 심각한 것 같다.

해설 (10)

좋은 장소로 web-inf 는 모세야 네 구성용 절실해졌습니다. # 39 의 일부 코드를 here& 내려받습니다 디렉터리 경로 상대경로를 충스러웠으니 서브렛.

public void init(ServletConfig servletConfig) throws ServletException{
    super.init(servletConfig);
    String path = servletConfig.getServletContext().getRealPath("/WEB-INF")
해설 (3)

이를 두고 '의 WEB-INF' 가 바로 액세스하려는 숨김니다 XML 파일을 사용자가 url 을 통해 도왔으매 그러하너라 I&; d # 39 라고 넣어 'WEB-INF'.

해설 (0)

내가 안 될 것 "이라고 하는 새로운 응용 프로그램에서 파일을 저장할 수 있기 때문에 폴더에서는 오버라이드합니다 구성을 통해 응용 프로그램의 배포.

내가 보고 있는, 또는 write something you have a 제안하세요 기본설정에는 apiu 사용자 폴더 (사용자가 실행하는 Tomcat).

해설 (0)

이 질문에 대한 대답은 이 않으려면 구성 파일을 읽고 쓸 수 있는 방법에 따라 달라집니다.

예를 들어, 스프링 프레임워크 기능을 사용하면 [use XML 구성 파일] (http://static.springframework.org/spring/docs/2.5.x/reference/beans.html # 콩 팩터리의 인스턴스) (또는 java 속성 파일); classpath 에 저장할 수 있습니다 (예를 들면, 의 WEB-INF 디렉토리임), 파일 시스템의 다른 곳에, 심지어 메모리에. 이 후 봄 조교하실 경우 사용할 수 있는 가장 쉬운 저장하였습니다 배치하십시오 구성 파일 사용 중인 Spring& # 39 의 WEB-INF 디렉터리인 사용 후 [클라스파시스마라프리카션콘테스트] (http://static.springframework.org/spring/docs/2.0.x/api/org/springframework/context/support/ClassPathXmlApplicationContext.html) 클래스를 액세스하세요 구성파일입니다.

하지만, 이 방법은 해당 파일을 액세스하려면 계획하십시오 달려 있다.

해설 (0)

사용자 정의 구성용 WEB-INF 배치하십시오 경우 좋은 일이다. 그러나 일부 남아 있는 WEB-INF / classes 라이브러리보다는 구성 할 수 있습니다.

해설 (0)