2012-03-12 5 views
1

내 Tapestry 앱에서 WEB-INF 디렉토리 또는 클래스 경로에서 ini 파일이나 속성 파일을로드 할 수없는 것으로 보입니다.WEB-INF 디렉토리에서 파일/등록 정보를로드하는 방법은 무엇입니까?

내 파일을로드해야하지만 여러 파일을로드해야하는 여러 가지 방법을 시도했습니다.

realm.setResourcePath("/WEB-INF/auth.properties");

I는 태피스트리 보안 모듈을 사용하기 위해 속성/INI 파일을로드 할 필요

realm.setResourcePath("classpath:wip/pages/auth.properties");

시로를 바탕으로 .

도움 주셔서 감사합니다.

답변

2

클래스 패스의 루트가 갈 수있는 방법이어야한다. 다음/주/자원/auth.properties SRC에을 파일을 넣어 realm.setResourcePath 사용하여 resourcePath 설정 ("클래스 경로 : auth.properties을");

확인 ExtendedPropertiesRealm

+0

좋은 친구, 덕분에 그것은 매력처럼 작동했습니다 ^^ 아직도 나는 그것이 WEB-INF에서 작동하지 않았다는 것을 모른다 : – xyz

4

시도 ServletContext.getResourceAsStream("/WEB-INF/auth.properties") 또는 ServletContext.getResourceAsStream("WEB-INF/auth.properties")

의 ServletContext는 서블릿에서 사용 servletListener 등

+0

그것은 작동하지 않습니다 :( 을 내가하여 확인 해요 : '의 InputStream = getClass() 같이 getResourceAsStream를 ("클래스 경로에 :. WIP/페이지/인증. System.out.println(); ServletContext.getResourceAsStream()도 작동하지 않습니다. – xyz

+0

이전 게시물 : [웹 아카이브의 WEB-INF 디렉토리에서 리소스를로드하는 방법 ] (http://stackoverflow.com/q/1108434/651140) –

0

예는 태피스트리 보안 testapp를 시도해보십시오

Properties props = new Properties(); 
props.load(new FileInputStream(new File(req.getServletContext().getRealPath("/WEB-INF/fileName.properties")))); 
System.out.println(props); 
0

내가 가장 쉬운 방법은

에 SRC/메인/자원/config.properties에서
  • 풋 파일 알게되었다. 프로젝트가 WAR

  • 로 받는다는으로 컴파일 할 때 이것은 /WEB-INF/classes/config.properties에 다음

    InputStreaminputStream = getClass(). getClassLoader를 가진 서블릿에서 파일을 (읽기 넣어지게된다) .getResourceAsStream ("config.properties");

https://crunchify.com/java-properties-file-how-to-read-config-properties-values-in-java/