달력

102018  이전 다음

  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  
  •  

벨로시티에 스트러츠도 함 붙여볼까??

필요한 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 좀 더 보구 가지고 놀아야쥐...

 

Posted by Tornado tornado