728x90

 

스트러츠2 가이드 문서 : http://struts.apache.org/2.x/docs/guides.html

 

 

--------------------------------------------------------------------------------------------------------------------------------

 

 

<기본 설정 필요 파일>

* Apache Struts 2.3.15 GA :  http://struts.apache.org/

==> Apache Struts 2.3.15 GA 압축 파일 내의 아래의 5가지 Jar 파일을 WEB-INF/lib 폴더에 추가
- struts2-core-x.x.x.jar : Struts 2 
 Core library.
- xwork-core-x.x.x.jar : 
웹 워크와 통합
- ognl-x.x.x.jar : OGNL , Struts2
를 위한 EL 이다.
- commons-logging-x.x.x.jar : log4j 
와 같은 로깅을 위한 라이브러리.
- freemarker-x.x.x.jar : UI 
태크 템플릿을 위한 것.

 

 

  • web.xml : 웹 애플리케이션의 배치스크립터(DD). Struts2가 요청을 수렴할 수 있도록 DD에 필터 등록.
  • struts-default.xml : 프레임워크 코어 라이브러리인 struts2-core-버전.jar미리 정의 되어 있는 파일.  Struts.xml의 설정을 상당히 줄이도록, 모든 디폴트값들이 설정되어있음.
  • struts.xml : 웹 애플리케이션내의 처리 흐름을 설정하는 파일

 

--------------------------------------------------------------------------------------------------------------------------------

 

 

1. web.xml

- web.xml은 URL 확장자에 따라 FilterDispatcher에 의해서 액션을 실행하기 위한 환경을 구축한다. 
  즉, 모든 사용자의 요청은 FilterDispatcher Class 를 거쳐간다. 해당 파일은 WEB-INF 폴더 내에 위치해야함.

 

<!-- 스트럿츠는 필터가 서블릿보다 먼저 동작하여 요청을 받는다  -->
<filter>
    <filter-name>struts</filter-name>
    <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
    
<!-- 모든요청을 필터가 받는다. -->
<filter-mapping>
    <filter-name>struts</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

 

2. struts.xml

- struts.xml은 실행 후 결과를 처리할Result 와 매핑을 설정한다. 해당파일은 프로젝트/src 폴더(Java Resources) 내에 위치한다.

 

<?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>
  <!-- 1.기본연결 -->
  <package name="tutorial" extends="struts-default">
  	<action name="helloWorld" class="tutorial.HelloWorld">
  		<result name="success">/helloWorld.jsp</result>
  	</action>
  </package>
  
   <!--<include file="struts-test.xml"/>  -->
   
</struts>

 

1) <include />

Struts1에서는 하나의 struts-config.xml 파일만 지원했지만 Struts2에서는 여러개의 설정파일을 역할별로
나눠서 설정할 수 있음. 그리고  요소를 이용해 하나의 설정파일에 포함 시킴.
파일의 위치는 ClassPath상의 경로.

 

2) <constant />
이 요소는 상수를 설정할 때 쓰입니다. 상수는 Struts2의 작동 방식을 결정짓는 값 입니다.
상수의 설정은 struts.xml 뿐만 아니라 struts.properties, web.xml 등.. 에서도 할 수 있습니다.
<constant /> 요소의 속성은 다음과 같습니다.

- name : 상수의 이름을 지정 합니다.
- value : 상수의 값을 지정 합니다.

설정 가능한 상수는 struts2-core-버전.jar 의 org.apache.struts2 패키지의 default.properties 파일에 나와 있는데 자세한 상수 설정에 대해서는 Struts2 상수설정 에서 다루겠습니다.

3) <package />
패키지는 result, interceptor, action 등을 논리적인 단위로 그룹화 하는데 사용 합니다.
struts.xml 파일 설정중에 대부분의 설정은 패키지 안에서 이루어 집니다.


4) <interceptors />
Interceptor는 AOP와 같은 개념으로 액션 실행 전후로 실행되는 모듈입니다.
파라미터값을 자동으로 저장, 로깅, 파일 업로드, 유효성 검사, 보안 등 다양한 Interceptor가 존재 합니다.
이 모든 Intercpetor는 struts-default.xml 파일에 모두 정의가 되어 있습니다. 
따라서 <interceptors /> 요소는 <interceptor-stack /> 요소를 이용해 사용자 정의 스택을 구성할 경우를 
제외 하고는 사용할 일이 없으며 단지<interceptor-ref /> 요소를 이용해 가져다 쓰기만 하면 됩니다.
다음은 struts-dafault.xml에 정의된 <interceptors /> 요소중 일부분 입니다.

 

 

 

 

Reference

https://firedev.tistory.com/entry/Struts-스트러츠2-설정-strutsxml-interceptor

https://kimseunghyun76.tistory.com/295

https://gusfree.tistory.com/1029

 

728x90

+ Recent posts