문제

내가 만드 웹 응용 프로그램(대전)그리고 배포에 Tomcat.에 웹 애플리케이션 이 양식이 있는 페이지는 관리자가 입력할 수 있는 몇 가지 구성이다.나는 원하지 않는 이 데이터를 저장에 DBMS 지만,XML 파일에 파일 시스템입니다.그것을 두기 위하여 어디에서?

하고 싶을 넣어 파일이 어딘가에 디렉토리 트리에서는 응용 프로그램 자체가 배포되었습니다.내 구성 파일에 웹사-INF 디렉토리?거나 그것은 어디 있나?

고는 무엇입 Java 를 사용하는 코드에서 servlet 을 찾기 위해 절대적인 경로를 디렉토리?일 수 있으로 액세스 상대 경로가?

도움이 되었습니까?

해결책

우리가 무엇을 넣어서 별도의 디렉토리에서 server(수 있습 같은 것을 사용/config/opt/config/root/config/home/username/config,또는 당신이 원하는 무엇이든).때 우리의 servlet 시작들을 읽 XML 파일을 얻을 몇 가지이(가장 중요한 것은 DB 연결 정보),그리고 그것.

나는 이유에 대해 우리는 않았습니다.

그것은 좋은 것을 저장하는 모든 것에 DB 지만,분명히 당신이 저장할 수 없습니다 DB 연결 정보를 DB.

할 수 있는 현 것에 코드,하지만 그의 추악한 여러가지 이유가 있습니다.는 경우에는 정보는 변경이 있을 다시 코드고 다시 배포합니다.는 경우가 사본 코드 또는 당신의 전 파일들은 다음 내용은 다음과 같습니다.

넣는 것을 전쟁에서 파일 좋은 것 같다,하지만 당신이 원하는 경우를 변경하는 것들을 많이 될 수 있다는 나쁜 생각이 아니다.문제는 당신의 정보를 변경하려면,다음 시간 당신은 다시 배포할 것을 덮어 파일이 너무 당신이 기억하지 않았을 변경 버전에서는 내장 된 전쟁으로 가져 잊어 있습니다.

파일에서 특별한 장소는 파일 시스템에서 일을 매우 잘 작동한다.그것은 필요가 없이 어떤 큰 단점이 있다.당신이 알고있는 그것은,그것의 저장을 seperatly,게 배포하는 여러 컴퓨터에 쉽게는 경우 그들은 모두 필요가 다른 설정 값을(이하지 않은 전쟁의).

다른 방법을 지속적으로 연구하고 생각할 수 있는 것이 잘 작동한 것에서 모든 것을 유지 DB 을 제외한 DB 로그인 정보.온 것에 자바스템 속성 있는 검색을 통해 JVM.이 설정 API 것으로 언급 Hans Doggen 니다.나는 생각하지 않는다면 우리의 응용 프로그램 개발되었을 경우,그것은 그것 없이 사용됩니다.

으로 경로에 대한 액세스를 위한 구성 파일의 파일을 파일시스템에서.당신을 걱정할 필요가 없 웹에 대한 경로에 있습니다.그래서 때 servlet 시작 그냥 엽 파일에서"/config/myapp/config.xml"무엇이건(또는)그리고 그것을 찾을 수 있습니다.......그냥 hardcodeing 경로에서 이를 위해 한 것 같다 꽤 무해한다.

다른 팁

웹사-INF 는 좋은 장소를 넣어 config 파일에 있습니다.여기에 몇 가지 코드를 얻을 수의 절대 경로를 디렉토리에서 servlet.

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

에 넣 WEB-INF 숨 XML 파일을 사용자에 액세스하려고 그것을 통해 직접 URL,그래서 그렇다,나는 말에 넣 WEB-INF.

나는지 저장 응용 프로그램에서 폴더기 때문에,재정의 구성을 가진 새로운 응용 프로그램의 배포.

나는 당신이에 설정한 API,또는 뭔가를 쓰기 사용자의 폴더(사용자 실행하는 Tomcat).

이에 따라 달라집하고자 하는 방법을 읽고 쓰는 config 파일에 있습니다.

예를 들어,Spring framework 기능을 제공 XML 을 사용하여 구성 파일 (또는 Java 특성 파일);이 저장될 수 있습에서 당신의 클래스 경로에(예를 들어,웹 INF 디렉토리)어디서나 다른 파일시스템에서,또는 메모리에 있습니다.당신이 사용하는 봄 이를 위해,그는 가장 쉬운 장소에 저장하는 설정파일에서 당신의 웹사-INF directory,다음 사용하 봄의 ClassPathXmlApplicationContext 클래스에 액세스하는 구성 파일입니다.

그러나 다시는 그것의 모든 방법에 따라 당신은에 액세스할 수 있도록 계획하는 파일입니다.

는 경우 사용자 지정 config WEB-INF 을위한 좋은 장소입니다.그러나 일부 라이브러리가 필요할 수 있습 configs 에 거주하는 WEB-INF/클래스입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top