스트럿츠는 서블릿 기반의 컨트롤러를 제공하는 프레임워크이다. 그렇다면 스트럿츠 컨트롤러의 사용 방법에 대해 알아 보자. 서블릿 기반이기 때문에 웹 어플리케이션에 스트럿츠 컨트롤러인 ActionServlet를 등록한다. 서블릿의 등록은 톰캣 설정파일 작성 방법에 자세히 나온다.
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/config/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>2</param-value>
</init-param>
<init-param>
<param-name>detail</param-name>
<param-value>2</param-value>
</init-param>
<!-- 웹 컨테이너 시작시 ActionServlet 초기화 -->
<load-on-startup>1</load-on-startup>
</servlet>
<!-- 스트럿츠 Action 클래스와 매핑시킬 URL 패턴 -->
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
위의 설정에서 보면 스트럿츠 AcionServlet 클래스와 URL 매핑이 *.do로 되어 있다. 이 말은 웹 컨테이너로 들어오는 URL 중 *.do 패턴으로 들어오는 모든 요청은 ActionServlet 클래스가 수행한다는 말이다. 즉, 스트럿츠 컨트롤러를 사용하여 요청을 처리하는 부분이 *.do 패턴으로 들어오는 요청이라고 정의하고 있다.
■ 스트럿츠 컨트롤러와 요청 URL 매핑 방법
스트럿츠 컨트롤러와 요청 URL를 매핑시키는 방법에는 두 가지가 있다.
1. 요청 경로를 통해 매핑하는 방법
<servlet-mapping>
<servlet-name>strutsActionServlet</servlet-name>
<url-pattern>/do/*</url-pattern>
이 경우 요청 url 이 /do/로 시작하는 모든 요청은 ActionServlet으로 전달된다.
2. 확장자를 통해 매핑하는 방법
<servlet-mapping>
<servlet-name>strutsActionServlet</servlet-name>
<url-pattern>*.do</utl-pattern>
이 경우 요청 url이 *.do로 시작하는 모든 요청은 ActionServlet으로 전달된다.
※ 요청 URL에 직접 JSP 페이지를 호출하지 못하게 하는 web.xml 설정 방법
모든 요청을 스트럿츠가 처리하게 하고 사용자가 직접적으로 JSP 페이지를 호출하지 못하게 web.xml 에 설정하는 방법이다.
<!-- 웹으로 접속한 사용자가 JSP 파일로 직접 접근할 수 없게 한다. -->
<security-constraint>
<web-resource-collection>
<web-resource-name>PreventViewingJSPs</web-resource-name>
<description>웹으로 접속한 사용자가 JSP파일로 직접 접근할 수 없도록 한다.</description>
<url-pattern>*.jsp</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
<role-name></role-name>
</auth-constraint>
</security-constraint>
'Java2EE Framework > Struts1.3 ' 카테고리의 다른 글
스트럿츠1.3 - 컨트롤러 구현 방법 (0) | 2010.05.29 |
---|---|
스트럿츠의 구조 (0) | 2010.05.28 |
이클립스에 스트럿츠 1.3 개발 환경 구성하기 (0) | 2009.12.16 |
스트럿츠1.3 적용 방법 (0) | 2009.09.03 |
스트럿츠(struts) 1.3 (0) | 2009.09.03 |