11. web.xml 및 ANT 파일 작성
1. web.xml ( eknote 서버 설정 파일)
eknote/config 에 생성하도록한다.
[web.xml]
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>eknote</display-name>
<description>eknote by Spring</description>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
</web-app>
2. build.xml ( eclipse 에서 ant 파일로 인식되는 파일명)
앞서 개발 리소스 구조와 Web Service용 리소스 구조 를 설정하였다.
ANT파일을 작성하여 WebService 용 리소스 구조로 간단하게 파일을 위치 시켜주자.
이를 위해 ANT에선 컴파일 , 한글 - ascii code 변환 , 파일 이동 등의 작업이 이루어지게 된다.
다음 작업을 하는 ANT파일을 생성할 것입니다.
- eknote API 문서 생성
- java comfile
- config, resource파일에 쓰여진 한글 -> ascii code 변환
- webservice root path 에 컴파일 및 엔코딩된 파일의 복사.
[ build.xml]
<?xml version="1.0"?>
<project name="edwardBoard" basedir="." default="deployEknote">
<property environment="env" />
<property name="doc.dir" value="docs" /> <!-- document root -->
<property name="view.dir" value="view" /> <!-- view(jsp/img/css/js) root -->
<property name="config" value="config" /> <!-- properties File path -->
<property name="lib.dir" value="lib" /> <!-- lib File path -->
<property name="prop.dir" value="props" /> <!-- properties File path -->
<property name="resource.dir" value="resources" /> <!-- properties File path -->
<property name="tld.dir" value="tld" /> <!-- jslt File path -->
<property name="src.dir" value="src" /> <!-- java root-->
<property name="build.dir" value="WEB-INF" /> <!-- compile File path -->
<property name="ibatis.dir" value="${resource.dir}/ibatis" /> <!-- ibatis sql path -->
<property name="message.dir" value="${resource.dir}/message" /> <!-- meassage path -->
<!-- deploy(web Service) path tomcat/conf/server.xml -->
<property name="deploy.dir" value="C:\edwardProject\eknote" />
<echo message="------------------------------------" />
<echo message="---- 0. set classpath START -" />
<path id="classpath">
<fileset dir="${lib.dir}" includes="*.jar" />
<pathelement path="${build.dir}/classes" />
</path>
<echo message="---- 0. set classpath END -" />
<echo message="------------------------------------" />
<echo message="------------------------------------" />
<echo message="---- 1. make javaDoc START -" />
<!--
최종 배포시에만 돌리도록 하자.
<target name="javadoc" description="Make JavaDoc">
<mkdir dir="${doc.dir}" />
<javadoc destdir="${doc.dir}" sourcepath="${src.dir}" packagenames="*">
<classpath refid="classpath" />
</javadoc>
</target>
-->
<echo message="---- 1. make javaDoc END -" />
<echo message="------------------------------------" />
<echo message="------------------------------------" />
<echo message="---- 1. Clean START --" />
<!-- class 폴더를 지우고 재생성. -->
<target name="clean" description="Clean classes">
<delete dir="${build.dir}/classes" />
<mkdir dir="${build.dir}/classes" />
</target>
<echo message="---- 1. Clean END --" />
<echo message="------------------------------------" />
<echo message="------------------------------------" />
<echo message="---- 2. Compile START -" />
<target name="compile" depends="clean" description="Java Compile">
<!-- <javac destdir="${build.dir}/classes" source="1.3" target="1.3" debug="true" optimize="false" deprecation="false" failonerror="true"> -->
<javac destdir="${build.dir}/classes" debug="true" optimize="false" deprecation="false" failonerror="true">
<src path="${src.dir}" />
<classpath refid="classpath" />
</javac>
</target>
<echo message="---- 2. Compile END -" />
<echo message="------------------------------------" />
<echo message="------------------------------------" />
<echo message="---- 3. Encoding START -" />
<target name="encoding" depends="compile" description="Encoding native2ascii">
<native2ascii encoding="euc-kr" src="${config.dir}" dest="${build.dir}" includes="**/*.*" />
<native2ascii encoding="euc-kr" src="${ibatis.dir}" dest="${build.dir}/classes/${ibatis.dir}" includes="**/*.*" />
<native2ascii encoding="euc-kr" src="${message.dir}" dest="${build.dir}/classes/${message.dir}" includes="**/*.*" />
</target>
<echo message="---- 3. Encoding END -" />
<echo message="------------------------------------" />
<!-- compile, encoding 된 파일들을 배포 한다. -->
<echo message="------------------------------------" />
<echo message="---- 4. Deploy START -" />
<target name="deployEknote" depends="encoding" description="eknote deploy">
<!-- make log directory -->
<mkdir dir="${deploy.dir}/logs" />
<!-- deploy index pages -->
<copy todir="${deploy.dir}" preservelastmodified="true">
<fileset file="*.html"/>
<fileset file="*.swf"/>
</copy>
<!-- deploy view pages -->
<copy todir="${deploy.dir}/view" preservelastmodified="true">
<fileset dir="${view.dir}" />
</copy>
<!-- deploy Tag Library -->
<copy todir="${deploy.dir}/${build.dir}/tld" preservelastmodified="true">
<fileset dir="${tld.dir}" />
</copy>
<!-- deploy Library -->
<copy todir="${deploy.dir}/WEB-INF/lib" preservelastmodified="true">
<fileset dir="${lib.dir}">
<exclude name="servlet-api.jar" /> <!-- not add-->
</fileset>
</copy>
<!-- deploy classes and xml -->
<copy todir="${deploy.dir}/WEB-INF" preservelastmodified="true">
<fileset dir="${build.dir}" />
<fileset file="${build.dir}/*.xml"/>
<fileset file="${build.dir}/*.properties"/>
</copy>
</target>
<echo message="---- 4. Deploy END -" />
<echo message="------------------------------------" />
</project>