[완료] 자바에서 아파치 conf 파일을 파싱해서 쓰고 싶은데 방법이 없을까요?
글쓴이: viper9 / 작성시간: 금, 2012/07/13 - 12:46오후
JSP에서 아파치의 conf 파일을 파싱해서 쓰고 싶습니다.
환경은 리눅스서버에 Tomcat 6, JSP입니다.
파싱하고 싶은 파일은 대략 다음과 같은 내용을 가지고 있습니다.
...중략... <VirtualHost *:80> ServerAdmin <a href="mailto:info@foo.com" rel="nofollow">info@foo.com</a> ServerName ww.foo.com ServerAlias foo.com ServerAlias mydomain.foo.com DocumentRoot /home/foo_directory/public_html <Directory "/home/foo_directory/public_html"> RewriteEngine On AllowOverride All Allow from all </Directory> </VirtualHost> <VirtualHost *:80> ServerAdmin <a href="mailto:info@foo.com" rel="nofollow">info@foo.com</a> ServerName ww.foo2.com ServerAlias foo2.com ServerAlias mydomain2.foo2.com DocumentRoot /home/foo2_directory/public_html <Directory "/home/foo2_directory/public_html"> RewriteEngine On AllowOverride All Allow from all </Directory> </VirtualHost> ....중략....
대략 이런 내용입니다.
여기서 각 VirtualHost마다 ServerName, ServerAlias, DocumentRoot 정보를 뽑아서 JSP에서 출력하려고 합니다.
JSP에서 위 파일을 열어서 스트링에다가 저장하는 것까지는 했는데 어떻게 저 정보를 뽑아야할지 몰라서 질문드려봅니다. 정규표현식으로 하면 될것 같은데 아무리 해봐도 정규표현식으로는 잘 안되네요.
비슷한 질문을 검색해보니 http://kldp.org/node/41728 이런 글이 잡히긴하는데 이 파일은 윈도우의 ini 파일과 형식이 달라서 안될 것 같구요.. 혹시 이런 형식의 파일을 파싱해주는 자바 라이브러리가 있다면 알려주시면 감사합니다.
혹시나 답변 달아주실 분들께 미리 감사드립니다. (__)
Forums:
xml형식으로 보이는데 xml파서를 써서 일단 읽어온
xml형식으로 보이는데 xml파서를 써서 일단 읽어온 후, 거기서부터 접근하면 되지 않을까요?
전용 라이브러리가 있으면 좋겠지만요
피할 수 있을때 즐겨라! http://melotopia.net/b
XML처럼 완벽하게 노드가 나뉘어져있지 않아서
XML처럼 완벽하게 노드가 나뉘어져있지 않아서 고민했었습니다.
찾아보니 전용 라이브러리도 어느 정도 있긴 있었습니다. 자바와 파이썬, 펄로 나와있더군요.
라이브러리 같은 건 모르겠는데 저건 정규표현식으로
라이브러리 같은 건 모르겠는데 저건 정규표현식으로 추출하기 아주 무난한 텍스트 같은데요.
제가 자바 정규표현식은 잘 몰라서 일단 Perl로 해 봤는데, 매치되는 부분을 추출하는 것도 자바에서도 지원을 할 테니...
- 일단 VirtualHost ... /VirtualHost 두 태그로 둘러싸인 부분을 추출하고
- 그 내용 안에서 다시 추출하기 원하는 항목이 있는 라인만 찾아 값을 추출하는
형태로 하면 잘 될 것 같은데요.
참고하십사 하고 펄 코드를 올려봅니다
출력:
좋은 하루 되세요!
이왕 해 본 김에 자바로도 해봤습니다. 펄 코드와
이왕 해 본 김에 자바로도 해봤습니다. 펄 코드와 흐름은 완전히 똑같고, 자바 정규식은 익숙치 않아서 효율적인지는 잘 모르겠습니다만.
출력도 동일하게 나오고요.
좋은 하루 되세요!
적어주신 코드를 JSP에 적용하고 출력 부분만 약간
적어주신 코드를 JSP에 적용하고 출력 부분만 약간 수정했더니 제가 원하는대로 딱 맞게 나오네요. :-)
펄에는 문외한인지라 여기저기 찾아보고 한참 뒤졌었는데 자바 코드까지 작성해주실줄은 몰랐네요. 거기에 주석까지 친절히 달아주셨네요.
여튼 문제는 잘 해결되었고 이 코드로 공부 많이 해야겠다는 생각이 드네요.
다시 한번 정말 감사드립니다. ^^
댓글 달기