스트럿츠2 struts.xml 파일을 로직별로 서비스별로 나누기
안녕하세요.
고코더 입니다.
이번 시간에는 struts.xml를 알아보고 이를 inlcude 해서 파일을 나누고
namespace 를 사용하는 방법을 알아보려고 합니다.
이 파일은 스트럿츠에서 가장 중요한 역할을 합니다 (다 중요하다고 하네요)
좀 더 자세히 공부하고 싶다면 기존 강의를 참고하고 넘어오세요
● 1. struts.xml 란?
시작부터 계속 수정하고 있는 이 파일을 간단하게 알아보려고 합니다.
- 스트럿츠2에 환경설정 파일은 struts.xml 입니다.
- 웹 애플리케이션내의 처리 흐름을 설정 합니다.
- 요청 이전 을 처리하는 process
- 요청 이후를 처리하는 interceptor
- 통상 WEB-INF에 위치 하지만 배포등을 위해 src 폴더에 위치하는게 실무에서는 거의 정석입니다.
sturts.xml 태그
* struts : struts.xml 의 시작 태그. package, include, bean, constant 가 포함되어 있습니다.
* package : 논리적인 그룹핑 단위 입니다. 상속이 가능하고 하위 패키지에 오버라이드 될 수 도 있습니다.
* name : 고유 키이며 맵핑 값을 나타냅니다.
* namespace : 접근 되는 고유에 패스를 분리 할 수 있습니다. 서비스 별로 접근 경로를 분리할 수 있습니다.
● 2. struts.xml 생성
파일 new에서 XML FILE을 선택하고 next를 클릭 합니다.
그리고 파일명과 패키지는 이렇게 생성합니다.
폴더 : Struts2Gocoder/src/map
파일명 : struts2_test.xml
새로 개발된 파일명은 이렇게 코딩 합니다. namespace를 test로 하였습니다.
이는 이제 접근 경로 URI 앞에 test가 덧붙혀 집니다.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
<struts>
<package name="struts2_test" namespace="test" extends="struts-default">
<action name="hello" class="hello.HelloAction">
<result name="success" >/WEB-INF/hello.jsp</result>
</action>
<action name="view" class="test.TestAction" method="getView">
<result name="success" >/WEB-INF/test/view.jsp</result>
</action>
</package>
</struts>
namespace를 활용해 URI를 분리 할 수 있습니다.
● 3. src/struts.xml 파일 수정
기존 스트럿츠 xml 파일은 아래처럼 변경 됩니다.
전부 새로 만들어진 설정파일로 이동하고
include file 태그래 해당 XML을 가르킵니다.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
<struts>
<package name="Struts2Gocoder" extends="struts-default">
</package>
<include file="map/struts2_test.xml" />
</struts>
참조될 xml은 해당 파일 위치에서 부터 찾습니다. src 폴더 아래이므로 xml로 시작합니다.
결과 화면
이전에 만든 소스를 그대로 나타납니다. 하지만 URI 중간에 /test가 생겼습니다.
네임스페이스 영향 떄문입니다. 서비스 별로 xml을 달리하여서 개발하는게 유지보수에 유리합니다.
게시판, 로그인, 가입 등 서비스가 다른 것들은 XML 파일을 전부 구분합니다.
마무리
하나의 XML로 관리하는 것 보다. 나누는 것이 유리 합니다.
'IT_Developers > struts2' 카테고리의 다른 글
Struts2 - 스트럿츠에서 한글이 깨질때 4가지를 확인해보세요. (0) | 2019.10.09 |
---|---|
Struts2 - struts.properties 란? / 파일 생성 / 옵션 설정 (0) | 2019.10.09 |
Struts2 - ActionSupport 사용법 (3) | 2019.10.04 |
Struts2 - "Hello Struts" 헬로우 스트럿츠 개발 시작! (0) | 2019.10.04 |
Struts - 웹 프로젝트 스트럿츠로 설정 / struts2 v2.1 / 첨부파일 (0) | 2019.09.30 |
댓글