spring no cache 설정 - 뒤로가기 막기

북마크 추가

특정 페이지에서 데이터를 post방식으로 전송 후 다음 페이지로 전환 했는데, 사용자가 뒤로 가기 버튼을 누르는 경우 이전 페이지에 캐시된 데이터가 남아있는 경우가 있다. 아니면 submit 후 에는 못들어가게 막아야 되는 상황이 있다.

 

spring에서 interceptor를 통해 캐시를 관리 할 수 있다.

 

servlet-context.xml을 설정한다.

 

1. 모든 페이지에서 post방식으로 전송 한 경우 뒤로가기 버튼 누르면 만료된 페이지로 뜸 ( no cache)

<interceptors> 

<beans:bean id="webContentInterceptor" class="org.springframework.web.servlet.mvc.WebContentInterceptor">

 <beans:property name="cacheSeconds" value="0"/>

 <beans:property name="useExpiresHeader" value="true"/>

 <beans:property name="useCacheControlHeader" value="true"/>

 <beans:property name="useCacheControlNoStore" value="true"/>

</beans:bean>

</interceptors>​

 

2. 특정 url만 캐시사용안함 (만료 시킴)

<interceptors>

 <interceptor>

 <mapping path="/somePath/someUrl"/>

<beans:bean id="webContentInterceptor" class="org.springframework.web.servlet.mvc.WebContentInterceptor">

 <beans:property name="cacheSeconds" value="0"/>

 <beans:property name="useExpiresHeader" value="true"/>

 <beans:property name="useCacheControlHeader" value="true"/>

 <beans:property name="useCacheControlNoStore" value="true"/>

</beans:bean>

</interceptor>

</interceptors>​

 

HKH
2014-12-09 16:09
SHARE
keyboard_arrow_left
keyboard_arrow_up