struts로 검색한 결과 :: 시소커뮤니티[SSISO Community]
 
SSISO 카페 SSISO Source SSISO 구직 SSISO 쇼핑몰 SSISO 맛집
추천검색어 : JUnit   Log4j   ajax   spring   struts   struts-config.xml   Synchronized   책정보   Ajax 마스터하기   우측부분

회원가입 I 비밀번호 찾기


SSISO Community검색
SSISO Community메뉴
[카페목록보기]
[블로그등록하기]  
[블로그리스트]  
SSISO Community카페
블로그 카테고리
정치 경제
문화 칼럼
비디오게임 스포츠
핫이슈 TV
포토 온라인게임
PC게임 에뮬게임
라이프 사람들
유머 만화애니
방송 1
1 1
1 1
1 1
1 1
1

struts로 검색한 결과
등록일:2008-03-15 20:25:02
작성자:
제목:초보을 위한 스트럿츠(struts) 기초 강좌 - 2부


# 강좌를 시작하며 #
지난 1부 강좌에서는 struts 의 Action Mapping 의 흐름을 알아봤다.
이번에는 controller 에 대해 알아본다. 1부 강좌를 성공적으로 마친 분이라면
쉽게 따라 할수 있을것이다.



# controller #
RequestProcessor 란?
MVC 모델의 C에 해당되는 controller를 struts 에서도 쉽게 쓸수 있다.
이에 해당되는 클레스는 RequestProcessor 이다

왜 RequestProcessor 가 필요한가?
1부에서 해본 struts는 하나의 actiion 에 Action Class가 mapping되고 거기에 관련 jsp
로 forward 시켜주는것을 배웠다. actiion이 많아 지면 그만큼Action Class도 많아진다.
근데 만약에 모든 Action Class에 request에 한글 인코딩을 해줘야 한다고 생각해보자.
수많은 Action Class를 모두 추가 할것인가? 하지만 걱정할것 없다. 모든 Action Class가
실행되기전 RequestProcessor 을 거치기 때문이다.이처럼 모든 Action Class가 실행되기전
해야할 작업에대해 RequestProcessor을 상속받아서 하면된다.



# WEB-INF/struts-config.xml 에 controller 설정 부분 추가 #
1부서 사용했던 struts-config.xml 에 controller 부분을 추가 한다.processorClass을 정의 하는 부분이다
<?xml  version="1.0"  encoding="UTF-8"?>  

<!DOCTYPE  struts-config  PUBLIC    
"-//Apache  Software  Foundation//DTD  struts  Configuration  1.3//EN"
"http://jakarta.apache.org/struts/dtds/struts-config_1_3.dtd">  
<struts-config>  
    <action-mappings>
      <action  path="/Index"  type="examples.IndexAction">
                <forward  name="success"  path="/index.jsp"  />
        </action>
      </action-mappings>
   
    <controller>
      <set-property property="processorClass"
            value="controller.MyRequestProcessor"/>
    </controller>

</struts-config>




# controller 페키지 추가 #
controller라는 패키지를 만든다 .




# MyRequestProcessor class 추가 #




# MyRequestProcessor 의 내용 #
RequestProcessor 을 상속받은 MyRequestProcessor는 모든 Action 이 실행되기전
호출되는 processPreprocess 메소드안에 한글인코딩 부분을 추가한다.
package controller;

import javax.servlet.http.*;
import org.apache.struts.action.*;

public class MyRequestProcessor extends RequestProcessor{

  protected boolean processPreprocess(HttpServletRequest request,
      HttpServletResponse response){
   
    try{
      request.setCharacterEncoding("euc-kr");
    }catch(Exception e){}
   
    System.out.println("모든 Action이 실행되기 전에 한글 인코딩을 해줬습니다.");
   

    return true;
  }

   }




# 추가된 파일들 #




# 톰켓 서버 시작 #



# 결과 확인 #
"나의 첫번째 struts 성공" 이란 글씨가 보이면 성공이다.



# MyRequestProcessor가 실행되었는지 확인 #
console 창에 "모든 Action이 실행되기 전에 한글 인코딩을 해줬습니다." 이란 글씨가 보이면 성공이다.