start Struts2

Programming/Struts2 2013. 5. 27. 21:23

Maven을 사용한 Struts2 웹 어플리케이션 만들기

 

webapp archetype으로 웹 어플리케이션을 만들었다면,
app/src/main/webapp 디렉토리의 index.jsp 파일을 아래의 주소로 확인할 수 있습니다.
http://localhost:8080/app/index.jsp

 

 

이제 Struts2 프레임워크를 사용하기 위해 pom.xml 파일에 dependency 요소를 추가합니다.
Struts2 구동에 필요한 jar 파일들이 WEB-INF/lib 디렉토리에 다운로드 됩니다.

 

<dependency>
    <groupId>org.apache.struts</groupId>
    <artifactId>struts2-core</artifactId>
    <version>2.3.14</version>
</dependency>

 

 

모든 클라이언트 요청(/*)에 대해 Struts2 Filter Dispatcher 를 사용하도록,
 web.xml 파일에 <filter />, <filter-mapping /> 요소를 추가합니다.

 

<filter>
    <filter-name>struts2</filter-name>
    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>

<filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

 

 

Struts2는 URL, 클래스, 뷰페이지 사이의 관계를 지정하기 위해 XML 설정 파일이나 메타데이터(annotation)을 사용할 수 있습니다.
XML 설정 파일을 사용하는 방법으로 아래의 내용을 src/main/resources 디렉토리에 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>
    <constant name="struts.devMode" value="true" />
    <package name="basicstruts2" extends="struts-default">
        <action name="index">
            <result>/index.jsp</result>
        </action>
    </package>
</struts>

 

<constant /> 요소는 프레임워크 속성을 설정하는데 위에서는 개발모드(devMode)로 실행한다고 설정하였습니다.
action 이름은 index 이며 index.action 을 호출하면 결과 페이지로 index.jsp 파일이 렌더링 됩니다.

 

 

"index.jsp 와 index.action 은 같은 페이지를 출력하지만 같은 것이 아님에 주의하라!"

 

아무것도 없이 단지 action 맵핑뿐인 위 예제로는 도저히 이해할 수 없는 주의..;;


WRITTEN BY
손가락귀신
정신 못차리면, 벌 받는다.

,