'struts.xml'에 해당되는 글 1건

  1. 2008.12.22 [Struts2] struts.xml 이란?

[Struts2] struts.xml 이란?

|
Struts.xml ?
파일의 배포위치는 WEB.XML과 마찬가지로
'/WEB-INF/src/web.xml'그리고 '/WEB-INF/src/struts.xml' 이다. (이클립스 기준)
  • 스트럿츠2 웹 어플리케이션 환경설정 파일은 기본적으로 struts.xml 이다.
  •  이클립스에서는 Java Resources (src) 의 바로 밑에서 struts.xml파일을 하나 추가해준다. ( default package )
    그러면 자동으로 빌드되면서 classes폴더로 들어가게 된다.
    확인은 webapps 에서 할 수 있다.
  •  struts.xml 에서 초기화되는 리소스는 다음의 것들을 포함한다.
  • 요청이 일어나기 전 process, 요청이 일어난 후 interceptor

  • 비지니스 로직과 데이터에 접근하는 코드를 호출하는 Action Class

  •  자바 서버 페이지, 벨로시티, 프리메이커 템플릿을 사용하여 뷰를 표시하기 위해 준비된 결과

 

sturts.xml 태그 설명
  • <struts> : struts.xml 의 루트 태그. package, include, bean, constant 같은 태그를 포함할 수 있다.

  • <package> : 액션, 결과, 결과 형태, 인터셉터 스택 등의 논리적인 설정 단위로 그룹핑한다.

  • 개념적으로 패키지는 상속될 수 있고, 하위 패키지에 의해서 오버라이드 될 수 있다.

    • name : package를 참조할 때 key 로서 사용됨.

    • extends : 환경 설정 파일을 확장한다.  환경설정 파일은 문서를 순차적으로 처리 하기 때문에 extends 에 의해 참고된 package (부모) 는 확장된 package보다 상위에 정의되어 있어야 한다.

    •  namespace : 액션 설정을 고유의 접두어를 가지고 논리적은 모듈로 분리하기 위해 사용된다. 네임스페이스는 액션 사이에서 충돌을 피할 수 있게 한다.

  • <include> : 환경설정 파일을 <include /> 요소를 사용하여 분리할 수 있다.

struts.xml 에서 <include /> 요소 정의

<struts>

<include file="home.xml" />

<include file="test.xml" />

<include file="/util/pojo.xml" />

</struts>


<action> : 기본적으로 액션은 하나의 이름과 핸들러 클래스와 매핑한다. 하나의 요청이 액션 이름과 일치할 때 스트럿츠2는 요청을 처리하는 방법을 결정하기 위해 매핑을 사용한다.

 name : 웹 어플리케이션의 name 속성은 웹 브라우저에서 요청한 주소와 일치한다. 스트럿츠2는 호스트 이름, 어플리케이션 이름, 확장명 중간에 무엇이 있는지 분리한다.
예를 들어, 요청한 주소가 아래와 같다면
   h t t p : / / w w w . test . com / struts2 / welcome.action

이에 대한 요청은 welcome (이라는 name을 가진) 액션과 매핑된다.

method : Action 인터페이스를 구현한다면 이곳에서 execute()메서드 대신 사용할 메서드 이름을 지정한다.

struts.xml 에서 액선 설정 예제

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC '-//Apache Software Foundation//DTD Struts Configuration 2.0//EN'
 'http://struts.apache.org/dtds/struts-2.0.dtd'>
<struts>
 <package name="default" extends="struts-default" namespace="">
  <!--
   사용자가 url 을 test1이라고 요청 하면 class 안의 액션 객체의 execute를 수행하고
   만약 결과가 성공하게 된다면 result 에 있는 jsp 페이지로 포워딩한다.
   -->

  <action name="test1" class="ex1.TestAction1">
   <result>/test1.jsp</result>
  </action>
  <action name="test2" class="ex2.TestAction2">
   <result>/test2.jsp</result>

  </action>

  <!-- 
   액션 메서드를 exe 라고 지정했으므로 Action의 execute 메서드를 대신하여 수행한다.

   물론 Action 안에서 구체적인 수행 내용을 구현해야 한다.
   -->

  <action name="test3" class="ex3.TestAction3" method="exe">
   <result>/test3.jsp</result>
  </action>
 </package> 
</struts>

 

  • <result> : 액션 메서드의 실행이 완료되면 문자열 값이 반환된다. 문자열 값은 result 를 선택하기 위해 사용된다.  하나의 액션 매핑은 여러 종류의 출력을 위한 result set 을 갖는데, ActionSupport 클래스에 의해서 표준 result set 이 정의되어 있다.

'JAVA/JSP > Struts2' 카테고리의 다른 글

[Struts2] StartingStruts2(pdf)  (0) 2008.12.22
[Struts2] 파일별 기본 역활과 개념  (0) 2008.12.22
[Struts2] struts.properties  (0) 2008.12.22
[Struts2] web.xml설정과 위치  (0) 2008.12.22
[Struts2] Architecture  (0) 2008.12.22
And
prev | 1 | next