벨로시티에 스트러츠도 함 붙여볼까??
필요한 jar 파일을 lib 에 복사하자..
struts.jar 는 필수이고
struts 구동에 필요한 commons-digester, commons-beanutils, validator 등등을 복사한다.
WEB-INF 디렉토리에 struts-config.xml 파일을 생성한다.
=====================================================================
<?xml version="1.0" encoding="EUC-KR"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
<struts-config>
<data-sources />
<form-beans />
<global-exceptions />
<global-forwards />
<action-mappings>
</action-mappings>
<controller />
</struts-config>
=====================================================================
암것도 없다 ㅡㅡ;;
web.xml 에 ActionServlet 을 등록한다.
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>locale</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
머 위치는 적당히 알아서 넣는다.
톰캣 다시 시작... (로그에 보면... struts.jar, commons-xxx 등등이 로딩된게 보일게다..)
간단한 Action 을 만든다...
===============================================================
package test;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import org.apache.struts.action.*;
public class TestAction extends Action{
public ActionForward execute(
ActionMapping mapping ,
ActionForm form ,
HttpServletRequest req ,
HttpServletResponse res)
throws IOException , ServletException
{
String target = "success";
return mapping.findForward(target);
}
}
===============================================================
간단하게 하는거라...
ant 안쓰고 그냥 지저분하게 컴파일함..
예전에 ant 모를때는 ejb 컴파일을 .bat 파일로 만들어서
컴파일 했다는 ㅡㅡ;
D:\tomcat_ex\webapps\velocity\WEB-INF\classes\test>javac -classpath %CLASSPATH%;d:\tomcat_ex\common\lib\servlet.jar;..\..\lib\struts.jar *.java
컴파일 되었으면... struts-config.xml 에 action 등록..
==============================================================
<action-mappings>
<action
path = "/test"
type = "test.TestAction"
scope = "request">
<forward name="success" path="/test.vm" />
</action>
</action-mappings>
==============================================================
http://localhost:8080/manager/html/reload?path=/velocity
해당 컨텍스트 리로드 하고..
http://localhost:8080/velocity/test.do 를 요청...
오옷... test.vm 으로 포워딩 대따...
request 에 객체 를 담아볼까낭~~~
TestAction 클래스를 수정한당...
================================================================
package test;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import org.apache.struts.action.*;
public class TestAction extends Action{
public ActionForward execute(
ActionMapping mapping ,
ActionForm form ,
HttpServletRequest req ,
HttpServletResponse res)
throws IOException , ServletException
{
String target = "success";
List _list = new ArrayList();
for(int i = 0; i < 10; i++){
_list.add(new String("Number : " + ( i + 1) ) );
}
req.setAttribute("TEST_LIST", _list);
return mapping.findForward(target);
}
}
================================================================
컴파일 하고... Manager 에서 리로딩 하던지.. 톰캣 재시작 하던지..
test.vm 에 아래 코드 추가..
#foreach( $t in $TEST_LIST)
<B>$t</B></br>
#end
http://localhost:8080/velocity/test.do <-- 요청한다..
오옷... 찐하게 뭐가 나와따~~~~
Tool 좀 더 보구 가지고 놀아야쥐...