sitelink1 | |
---|---|
sitelink2 | |
sitelink3 |
1. 테스트를 위한 HelloWorldServlet.java와 TestXdoclet.java 파일을 만든다.
2. HelloWorldServlet.java (web.xml 자동생성을 테스트하기 위한 소스)
package net.javajigi.chapter3.servlet;
import java.io.IOException;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* web.xml을 생성할 때 쓸 주석문
*
* @web.servlet name="HelloWorldServlet"
* display-name="HelloWorld Servlet"
*
* @web.servlet-init-param name="name"
* value="${hello.servlet.name}"
*
* @web.servlet-mapping url-pattern="/HelloWorld/*"
* @web.servlet-mapping url-pattern="*.HelloWorld"
* @web.servlet-mapping url-pattern="/HelloWorldServlet"
*/
public class HelloWorldServlet extends HttpServlet {
protected void doGet(
HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
process(request, response);
}
protected void doPost(
HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
process(request, response);
}
protected void process(
HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
ServletConfig config = this.getServletConfig();
String name = config.getInitParameter("name");
response.setContentType("text/html");
java.io.PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title>HelloWorld Servlet</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Hi!! " + name + ". Hello World!!</h1>");
out.println("</body>");
out.println("</html>");
out.close();
}
}
3. TestXdoclet.java (struts-config.xml 생성테스트를 위한 소스)
package com.test;
import javax.servlet.http.*;
import org.apache.struts.action.*;
import org.apache.struts.actions.*;
/**
* struts-config.xml이 생성시킬 때 쓰이는 주석문
*
* @struts.action
* name="signonForm"
* path="/login"
* input="/vm/login/Login.vm"
* scope="request"
* validate="false"
*
* @struts.action-forward
* name="success"
* path="/preferences.screen"
*
* @struts.action-forward
* name="login"
* path="/vm/login/Login.vm"
*
*/
public class Testxdoc extends DispatchAction{
public ActionForward search(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception{
return mapping.findForward("success");
}
}
4. Ant는 기본적으로 Eclipse에 포함되어 있으니 xdoclet만 설치하면 된다.
xdoclet는 아래의 url에서 다운 받으면 된다.
http://sourceforge.net/project/showfiles.php?group_id=31602
압축을 푼 후 애플리케이션의 lib폴더에 모든 .jar파일을 import(이클립스의 import기능)하거나 복사한다. 또 Tomcat의 common/lib/servlet-api.jar 파일도 복사해 준다.
5. 프로젝트에서 build.xml 파일을 생성한다. 이 파일이 생성되면 Eclipse에서는 자동으로 Ant Editer를 작동한다.(필자의 경우에는 생성 후 바로 열리는 문서는 Ant Editer가 적용되지 않아 파일을 한번 닫고 다시 열어보니 적용이 되었다.)
6. build.xml을 작성한다.
<?xml version="1.0" encoding="UTF-8"?>
<project name="TestXdoclet" default="all">
<property file="build.properties"/>
<target name="init" description="initialize the properties">
<mkdir dir="${javadoc.dir}"/>
<path id="struts.class.path">
<fileset dir="${lib.dir}" includes="**/*.jar"/>
</path>
<path id="xdoclet.class.path">
<fileset dir="${lib.dir}" includes="**/*.jar"/>
</path>
</target>
<target name="generateDD" depends="init">
<taskdef name="webdoclet"
classname="xdoclet.modules.web.WebDocletTask"
classpathref="xdoclet.class.path"
/>
<webdoclet
destdir="${build.dir}"
mergedir="${resource.dir}/merge">
<fileset dir="${src.dir}">
<include name="**/*.java"/>
</fileset>
<deploymentdescriptor servletspec="2.3" destdir="${build.webinf.dir}">
</deploymentdescriptor>
<strutsconfigxml
version="1.1"
destdir="${build.webinf.dir}">
</strutsconfigxml>
</webdoclet>
</target>
<target name="all">
<!--<antcall target="clean"/>-->
<antcall target="generateDD" />
</target>
</project>
7. build.properties를 작성한다.
src.dir=${basedir}/src
web.dir=${basedir}/pages
javadoc.dir=${basedir}/docs
build.dir=${basedir}/WebContent
build.webinf.dir=${build.dir}/WEB-INF/
build.lib.dir=${build.webinf.dir}/lib
build.class.dir=${basedir}/build
build.src.dir=${build.webinf.dir}/src
build.sql.dir=${build.dir}/sql
lib.dir=${basedir}/WebContent/WEB-INF/lib
resource.dir=${build.webinf.dir}
dist.dir=${basedir}/dist
deploy.dir=cbcyber
war.name=cbcyber.war
sql.name=sql-export.sql
backup.dir=d:/work/backup/
.properties에 나열된 경로는 자신의 애플리케이션 구조에 맞게 알맞게 수정한다.
8. 프로젝트 익스플로러에서 컨텍스트 메뉴(마우스 오른버튼)를 호출한 후 RUN as 에서 Ant build로 실행한다.
9. 위와 같은 과정이 정상적으로 실행된다면 web.xml파일과 struts-config.xml파일이 자동으로 생성 되어 있을 것이다.
댓글 0
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
7 | Jakarta Ant I탄 기본편 | 황제낙엽 | 2007.01.24 | 76 |
6 | 1900개가 넘는 java컴파일시 Ant의 설정 | 황제낙엽 | 2007.02.28 | 898 |
5 |
Ant 의 사용 용례와 사용법
![]() | 황제낙엽 | 2007.07.16 | 91 |
4 | Ant로 UTF-8 엔코딩하기 (프로젝트 변환) | 황제낙엽 | 2007.07.03 | 168 |
3 |
ANT 작성예제 (build.xml , build.properties)
![]() | 황제낙엽 | 2007.05.16 | 104 |
» | Eclipse에서 Ant+xdoclet 를 이용한 web.xml, struts-config.xml 자동생성 | 황제낙엽 | 2007.03.03 | 219 |
1 | Eclipse 의 auto compile 과 ANT의 compile | 황제낙엽 | 2007.02.28 | 347 |