2011년 9월 26일 월요일

extends / implements

extends 와 implements 의 차이

extends는 다른 class를 상속하여 부모 class의 모든 기능을 사용할 수 있으며

변수를 추가하거나 함수를 추가, 또는 Overriding을 할 수 있다.

말 그대로 "확장"의 개념


implements는 interface를 상속,

껍데기뿐인 interface의 함수를 모두 구현해야 한다.

비슷한 형태를 가진 class를 여러개 구현할 때 사용한다.

일종의 "틀". 겉모습은 같지만 안에는 각자 다른 것으로 채울 수 있다.

tomcat6 classpath에 대해서 (for linux)

윈도우 로컬에서 이클립스 + 톰캣으로 JSP Dynamic Web Project를 사용하여 작업한 후에 리눅스 서버로 옮기는 방법을 연구 중에 이 놈의 classpath 때문에 무진장 고생을 했다. 자꾸 NotFoundClass...를 내뱉는 덕분에 ㅋ

환경 : Ubuntu 11.04 server / tomcat6 / jdk 1.6

WebContent 파일은 /var/lib/tomcat6/webapps 로 이동
src 파일은 올리지 않는다.
build/classes에 있는 파일을 /var/lib/tomcat/common/classes로 이동


기본 tomcat6 classpath는 vim /var/lib/tomcat/conf/catalina.properties 파일에서 확인 가능
common.loader=.... 로 이어지는 부분에 있는 것이 시작할 때 참조하는 path이다.
해당 path에 WEB_INF/lib에 있는 파일, 또는 외부 jar파일등을 넣어준다.


이런 거 다 필요없고 $CATALINA_HOME (혹은 tomcat설치폴더, 혹은 tomcat설정에서 DocumentRoot로 설정한 폴더)에 폴더를 하나 만든다. 여기서는 test라 하겠다.

리눅스 상에서 컴파일을 하지 않는 이상, 필요한 것은 WebContent폴더 내부의 파일과 build안에 있는 이미 컴파일된 class파일이다.
WebContent 내부의 파일을 전부 $CATALINA_HOME/test 로 이동
build/classes 폴더를 $CATALINA_HOME/test/WEB_INF 로 이동

이 후 http://(서버ip):8080/test 로 접속하면 제대로 된 결과물이 출력된다.

단지 데이타를 남기기 위해 대충 적다보니...흠 나중에 정리해서 다시 포스팅해야겠다