Struts 및 타일 애플리케이션 구성

이 태스크를 사용하여 Struts 및 타일 애플리케이션을 캐시하십시오.

시작하기 전에

Struts 및 타일 캐싱을 구성하기 전에 애플리케이션을 개발해야 합니다. Apache Struts Web Application Framework 웹 사이트에서 Struts 및 타일 애플리케이션 개발에 대한 추가 정보를 참조하십시오.

이 태스크 정보

Struts 및 타일 애플리케이션의 데이터를 캐시하려는 경우에 이 태스크를 사용하십시오.

Struts은 MVC(Model-View-Controller) 아키텍처를 사용하여 웹 애플리케이션을 빌드하는 개방형 소스 프레임워크입니다. Struts 프레임워크에는 제어기 컴포넌트가 있고 모델 및 보기를 제공하기 위해 다른 기술과 통합합니다. Struts은 구현/구축(Construction) 시간 및 유지보수 비용을 줄여주는 웹 애플리케이션에 대한 제어 계층을 제공합니다.

타일 프레임워크는 jsp:include 기능에 빌드되고 Struts 웹 애플리케이션 프레임워크와 번들됩니다. 타일 프레임워크는 JSP(JavaServer Pages) 파일 사이에서 중복을 감소시키고 컴포넌트 파트의 프로젠테이션 페이지를 어셈블하여 웹 사이트 레이아웃의 유지보수를 융통성 있고 간편하게 합니다.

Struts 및 타일 캐싱은 서블릿 및 JSP 캐싱의 확장이기 때문에 각 유형의 캐싱에 대해 수행하는 조치는 유사합니다. 서블릿 캐싱에 대한 자세한 정보는 서블릿 캐싱 구성 주제를 참조하십시오.

프로시저

  1. 서블릿 및 JSP 캐싱을 사용하십시오. 서블릿 캐싱을 사용하면 자동으로 Struts 및 타일 캐싱이 사용됩니다. 서블릿 캐싱에 대한 자세한 정보는 서블릿 캐싱 구성 주제를 참조하십시오.
  2. 캐시 정책을 개발하십시오. 캐시 정책은 Struts이나 타일 응답을 캐시하는 데 필요합니다.
    Struts 캐시 정책을 개발하려면 다음을 수행하십시오.

    Struts 프레임워크는 MVC 스타일 애플리케이션에서 제어기 컴포넌트를 제공합니다. 제어기는 org.apache.struts.action.ActionServlet.class라고 하는 서블릿입니다. 애플리케이션의 web.xml 파일에서 *.do의 서블릿 맵핑이 이 Struts ActionServlet 서블릿에 추가되어 .do로 끝나는 웹 주소에 대한 모든 요청이 처리되도록 합니다. ActionServlet 서블릿은 struts-config.xml 파일의 정보를 사용하여 지정한 자원에 대한 요청을 실행하는 Struts Action 클래스를 결정합니다.

    WebSphere® Application Server의 이전 버전에서 서블릿당 한 개의 캐시 정책만 지원되었습니다. 그렇지만 Struts을 사용하면 .do로 끝나는 모든 요청이 동일한 ActionServlet 서블릿에 맵핑됩니다. Struts 응답을 캐시하려면 해당 서블릿 경로를 기반으로 ActionServlet 서블릿에 대한 캐시 정책을 작성하십시오.

    예를 들어, 두 개의 Struts 조치인 /HelloParam.do/HelloAttr.do를 고려하십시오. ID 요청 매개변수를 기반으로 하는 응답 및 arg 요청 속성을 각각 캐싱하려면 다음 캐시 정책을 사용하십시오.
    <cache-entry>
    	<class>servlet</class>
    	<name>org.apache.struts.action.ActionServlet.class</name>
    	<cache-id>
    		<component id="" type="servletpath">
    			<value>/HelloParm.do</value>
    		</component>
    	</cache-id>
    	<cache-id>
    		<component id="" type="servletpath">
    			<value>/HelloAttr.do</value>
    		</component>
    		<component id="arg" type="attribute">
    			<required>true</required>
    		</component>
    	</cache-id>
    </cache-entry>
    현재 버전의 WebSphere Application Server로 다중 캐시 정책을 단일 서블릿에 맵핑할 수 있습니다. 다음 예와 같이 이전 캐시 정책을 다시 작성할 수 있습니다.
    <cache-entry>
    	<class>servlet>
    	<name>/HelloParam.do</name>
    	<cache-id>
    		<component id="id" type="parameter">
    			<required>true</required>
    		</component>
    </cache-entry>
    <cache-entry>
    	<class>servlet</class>
    	<name>/HelloAttr.do</name>
    	<cache-id>
    		<component id="arg" type="attribute">
    			<required>true</required>
    		</component>
    	</cache-id>
    </cache-entry>
    타일 캐시 정책을 개발하려면 다음을 수행하십시오.
    타일 프레임워크는 jsp:include 태그에 빌드되기 때문에 JSP 캐싱에 적용되는 모두가 타일에도 적용됩니다. 타일을 사용하여 포함된 모든 단편에서 flush 속성을 true로 설정해야 합니다. 단편에 대한 insert 태그는 올바르게 캐시됩니다. JSP 캐싱을 통한 타일 캐싱의 추가 기능은 tiles 속성을 기반으로 합니다. 예를 들어, 다음 layout.jsp 템플리트를 개발할 수 있습니다.
    <html>
    	<%String categoryId = request.getParameter("categoryId")+"test"; %>
    	<tiles:insert attribute="header">
    		<tiles:put name="categoryId" value="<%= categoryId %>" />
    	</tile:insert>
    	<table>
    		<tr>
    			<td width="70%" valign="top"><tiles:insert attribute="body" /> </td>
    		</tr>
    		<tr>
    			<td colspan="2"><tiles:insert attribute="footer" /></td>
    		</tr>
    	</table>
    </body>
    </html>
    중첩된 tiles:put 태그는 삽입된 타일의 속성을 지정합니다. layout.jsp 템플리트에서 categoryId 속성이 정의되고 헤더의 플레이스홀더로 삽입된 타일에 전달됩니다. 다음 예에서 layout.jsp 파일은 다른 JSP 파일에 삽입됩니다.
    <html>
    <body>
    <tiles:insert page="layout.jsp?categoryId=1002" flush="true">
    	<tiles:put name="header" value="/header.jsp" />
    	<tiles:put name="body" value="/body.jsp" />
    	<tiles:put name="footer" value="/footer.jsp" />
    </tiles:insert>
    </body>
    </html>
    categoryId 타일 속성은 header.jsp 파일에 전달됩니다. header.jsp 파일은 <tiles:useAttribute> 태그를 사용하여 categoryId 값을 검색합니다. categoryId 속성 값을 기반으로 header.jsp 파일을 캐시하려는 경우 다음 캐시 정책을 사용할 수 있습니다.
    <cache-entry>
    	<class>servlet</class>
    	<name>/header.jsp</name>
    	<cache-id>
    		<component id="categoryId" type="tiles_attribute">
    		<required>true</required>
    		</component>
    	</cache-id>
    </cache-entry>
  3. 캐시 정책이 제대로 작동하는지 확인하십시오. 애플리케이션이 실행 중인 동안 cachespec.xml 파일 내에서 정책을 수정할 수 있습니다. 캐시 정책에 대한 자세한 정보는 cachespec.xml 파일로 캐시 가능 오브젝트 구성 주제를 참조하십시오.

결과

다음에 수행할 작업

동적 캐시에 대한 자세한 정보는 태스크 개요: 성능 향상을 위해 동적 캐시 서비스 사용을 참조하십시오.

주제 유형을 표시하는 아이콘 태스크 주제



시간소인 아이콘 마지막 업데이트 날짜: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tdyn_strutstiles
파일 이름:tdyn_strutstiles.html