WebDAV를 맨바닥에서 구현하기는 꽤나 힘든 작업일 듯 하여 Tomcat 에 탑재된 WebdavServlet 을 프로토파입으로 하여 분석을 병행하면서 개발해보기로 하자.
먼저 테스트를 위해 Tomcat6 의 WebdavServlet 을 활성화 시키고 DavClient로 테스트를 진행할 예정이다.
Tomcat 의 WebdavServlet 활성화는 http://blog.naver.com/shin7688/120132130811 를 참조하시면 된다.
1. 다운로드
1) Tomcat6 및 Tomcat6 Source 다운로드
http://tomcat.apache.org/download-60.cgi 에서 아래의 파일을 다운받는다.
Tomcat6 Binary Distribution : apache-tomcat-6.0.36.zip
Tomcat6 Source Distribution : apache-tomcat-6.0.36-src.zip
2) DAV Explorer 다운로드
http://www.davexplorer.org/download.html 에서 DAVExplorer-latest.zip 파일 다운로드
2. Tomcat 설정
1) apache-tomcat-6.0.36.zip 압축을 풀고 c:/server/apache-tomcat-6.0.36 에 위치시킨다
2) {TOMCAT_HOME}/webapps/MyWebdav 폴더를 생성한다
3) web.xml 에 아래의 내용을 추가한다
-----------------------------------------------------------------------
<!-- Webdav Servet -->
<servlet>
<servlet-name>webdav</servlet-name>
<servlet-class>org.apache.catalina.servlets.WebdavServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>listings</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>readonly</param-name>
<param-value>false</param-value>
</init-param>
</servlet>
<!-- Webdav Servet Mapping-->
<servlet-mapping>
<servlet-name>webdav</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
-----------------------------------------------------------------------
4) conf/tomcat-users.xml 에 Webdav 사용자 추가
-----------------------------------------------------------------------
<role rolename="webdav"/>
<user username="wduser" password="wduser" roles="webdav"/>
-----------------------------------------------------------------------
3. Eclipse MyWebdav 프로젝트 생성
1) Eclipse에 프로젝트 생성
2) 프로젝트 ClassPath 설정
- C:\server\apache-tomcat-6.0.36\lib/catalina.jar
- C:\server\apache-tomcat-6.0.36\lib/tomcat-coyote.jar
3) test.MyWebdavServlet 를 프로젝트에 생성
apache-tomcat-6.0.36-src/java/org/apache/catalina/servlets/WebdavServlet.java 를 test.MyWebdavServlet 으로 저장
4) {TOMCAT_HOME}/webapps/MyWebdav/WEB-INF/classes 하위로 test.MyWebdavServlet.class 적절히 배포
4. DAV Explorer 를 통한 테스트
1) 다운받은 DAVExplorer-latest.zip 을 풀고 DAVExplorer-0.91 폴더를 C:/dev/DAVExplorer-0.91 에 복사
2) C:/dev/DAVExplorer-0.91 내에 DAVExplorer.bat 을 수행
주소창에 localhost:8080/MyWebdav/servlet/MyWebdavServlet 입력
3) 인증창에 사용자와 비밀번호 입력
conf/tomcat-users.xml 에 등록한 wduser/wduser 입력
4) DAV Explorer 에 파일을 등록, 수정, 삭제해가며 서버 로그를 확인
5. Windows7 탐색기를 통한 접속 테스트
컴퓨터 → 네트워크 위치 추가(L) 를 수행해서 네트워크 위치 추가 마법사 수행하여 URL 을 입력한다
http://localhost:8080/MyWebdav/servlet/MyWebdavServlet 를 입력한다.
※ 단, Windows7 64bit 는 오류가 있어서 되지 않는다.
6. WebDAV Spec
스팩을 참조해서 열심히 개발하면 되겠다. Good luck !
HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)
어떠한 스팩의 구현체를 만들던 쉬운일은 아닐게다. 열심히 만들어보자.
Good Luck !