Struts, Tiles, XML을 이용한 자바지기 게시판 0.5버전
1. 개발 목적
- Struts와 Tiles를 이용하여 간단하게 게시판을 만들어 봄으로
써 MVC model을 이해하는데 있다.
Struts의 MVC와 Tiles가 한 페이지의 Layout을 관리하게 함으로
서 작업의 분리 및 유지보수에 있어서 간편함을 느껴보고자 했다. 또한 모든 data를 XML로 처리하고 XSLT를 이용하여 View를
생성함으로서 Data와 View의 분리를 하고자 했다.
2. 개발 환경
- JDK 1.3
- Tomcat 3.3.1
- Tiles-Struts 1.0
- Mysql
3. 설치
- XML parser의 문제로 인해 서버는 Tomcat 3.3.1이상을 이용하
는 것으로 한다.
1) Tomcat server를 먼저 설치한다. Tomcat을 설치하는 문서는
웹상에 많으므로 생략하도록 하겠다.
2) Tomcat의 webapps아래의 ROOT 디렉토리 및 ROOT.war을 삭제한
다.
3) 다운받은 javajigi_board.war을 ROOT.war로 이름을 바꾼다.
(만약 Tomcat이 다른 디렉토리를 http://localhost:8080/ 으로
인식하도록 설정할 줄 안다면 javajigi_board.war 그대로 둔 다
음 설정에서 javajigi_board 디렉토리를 "/"인식하도록 설정해
주면 된다. 손쉽게 테스트 해보고 싶다면 위처럼 이름을 바꾼 다
음에 작업하면 된다.)
4)삭제된 ROOT가 생겼을 것이다. /WEB-INF/web.xml 을 열어서
<init-param>
<param-name>xslpath</param-name>
<param-value>D:\\Server\\Tomcat-3.3.1
\\webapps\\ROOT\\style\\xsl\\</param-value>
</init-param>
이 부분의 xsl화일 위치를 자신이 설치한 application로 수정
해준다.
5)/WEB-INF/board.sql의 schema로 DB를 생성한다.
6)/WEB-INF/classes/dbpool.properties를 자신의 DB환경에 맞도
록 수정하면 된다.
mysql.url = jdbc:mysql://localhost:3306/javajigi
mysql.user = root
mysql.password = root
보통 위 세가지만 수정하면 테스트해 볼 수 있다.
7)모든 세팅이 완료 되었다.
http://localhost:8080/board/xmlqna_list.do 로 접속하면 게시
판이 나타날 것이다.
4. 내부구조.
/WEB-INF/lib 아래에는 사용한 모든 jar화일들이 있다.
/WEB-INF/classes 이 게시판에서 사용한 class화일들이 있다.
/WEB-INF/src 게시판에서 사용한 src화일들이 있다.
5. 기능
-구현 기능
답변형 게시판으로서..답변형 게시판에 존재하는 대부분의 기능
을 추가했다. 메모쓰기 기능
- 비구현 기능
글쓰기시 HTML을 적용하는 기능.
화일 upload
관리자 기능
Multiple 게시판 기능
6.게시판에 대하여..
이 게시판의 목적은 XML + XSLT의 활용과 Struts를 이용하여
MVC model을 이해하는데 있기 때문에 그 부분에 중점을 두어 개
발했다. 또한 Query를 JSP나 class안에 두지 않고 외부에서 XML
로 관리하고 있다.
이 게시판을 통하여 배울 수 있는 것은
1. XML의 SAX파싱.
2. DB접근을 통제하는 하나의 Facade class
3. XSL을 이용하여 게시판에서 구현하기 힘들었던 다양한 부분
들에 대한 처리방법
4. Struts를 이용한 MVC model에 근거한 개발 방법
5. Tiles를 이용하여 JSP page의 Layout의 관리기능.
6. Server side에서 XML과 XSLT를 Transform해서 사용하는 방
법등이 담겨있다.
너무 작게 나눈듯한 느낌도 든다. 게시판같은 경우에는 간단하
기 때문에 이처럼 분리시킬 필요는 없지만 큰 프로젝트 수행시
에 이와같이 개발할 경우 분리된 작업이 가능해지며 추후에 유지
보수시에도 JSP전체 페이지를 수정하지 않고 해당하는 부분만 찾
아서 수정해 주면 Update가 가능해진다.
또한 Layout을 정교하게 설계한다면 User마다 다른 layout으로
서비스도 가능해질것이며 다른 XSLT의 적용을 통하여 다른 모양
의 SKIN도 제공할 수 있을 것이다.
아무쪼록 많은 분들의 관심과 계속적인 Upgrade가 이루어졌으
면 좋겠다.
계속 개발에만 신경썼기 때문에 많은 버그들이 숨어 있을것이
다. 테스트시 발견되는 버그는 SanJiGi@hotmail.com 이나 http://www.javajigi.net 의 Q&A란에 올려주면 고맙겠다.
저 또한 앞으로도 계속적인 Upgrade할 것을 약속하며 다음 버전
도 기대해 주기 바란다.
이 게시판에 대한 세부적인 강좌는 http://www.javajigi.net의
자바지기 강좌에서 진행할 예정이다.
여러분들이 많은 관심 가져주었으면 한다.
이 게시판을 통하여 우리나라 Web개발에 조그마한 변화가 일어
났으면 하는 바람이다.
7. License
이 게시판은 게시판 하단의 자바지기 Logo만 삭제하지 않는다
면 누구나 무료로 사용할 수 있다.
/******************************************************
* JavaJiGi
*
* E-mail : SanJiGi@hotmail.com, JavaJiGi@hotmail.com
* HomePage : http://www.javajigi.net
* ICQ : 115951472
* Messanger : MSN messanger
* Tel : 017-515-1571
******************************************************/