복붙노트

[SPRING] 어떻게 봄을 사용하여 다시 브라우저 버튼 문제를 처리 할 수 ​​있습니까?

SPRING

어떻게 봄을 사용하여 다시 브라우저 버튼 문제를 처리 할 수 ​​있습니까?

스프링을 사용하여 브라우저 버튼 문제를 다시 처리하는 방법은 무엇입니까?

내 응용 프로그램 사용자 로그인에서 제대로 및 사용자가 다시 버튼 페이지 상태가 유지되지 않습니다를 클릭하십시오. 그래서 나는 사용자가 뒤로 버튼 / 앞으로 버튼을 클릭해도 페이지 상태를 유지합니까?

감사

해결법

  1. ==============================

    1.분명히 페이지는 브라우저 캐시에서 요청되었습니다. 문제가되는 페이지의 클라이언트 측 캐싱을 비활성화해야합니다. 캐시를 사용하지 않으려는 페이지의 URL 패턴 (예 : * .jsp)을 수신하는 필터를 만들어이 작업을 수행 할 수 있습니다. doFilter () 메서드에서 다음을 수행하십시오.

    분명히 페이지는 브라우저 캐시에서 요청되었습니다. 문제가되는 페이지의 클라이언트 측 캐싱을 비활성화해야합니다. 캐시를 사용하지 않으려는 페이지의 URL 패턴 (예 : * .jsp)을 수신하는 필터를 만들어이 작업을 수행 할 수 있습니다. doFilter () 메서드에서 다음을 수행하십시오.

    HttpServletResponse httpres = (HttpServletResponse) response;
    httpres.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1.
    httpres.setHeader("Pragma", "no-cache"); // HTTP 1.0.
    httpres.setDateHeader("Expires", 0); // Proxies.
    chain.doFilter(request, response);
    

    이렇게하면 클라이언트 측 응용 프로그램은이 필터의 URL 패턴과 일치하는 요청을 캐시하지 않도록 지시 받게됩니다. 뒤로 버튼을 누르면 제안 된 새로운 데이터와 함께 서버로부터의 실제 요청이 강제로 수행됩니다. 요청간에 특정 서버 측 데이터를 유지하려면 세션 범위를 확보하거나 GET 요청 만 사용해야합니다.

    오, 구현 후 테스트하기 전에 브라우저 캐시를 지우는 것을 잊지 마세요.)

  2. ==============================

    2.Spring Web Flow를 사용할 수있다.

    Spring Web Flow를 사용할 수있다.

    스프링 웹 플로우를 확인하기 위해이 링크를 추천한다.

  3. ==============================

    3.서블릿 컨텍스트 내부에 인터셉터를 다음과 같이 구성하십시오.

    서블릿 컨텍스트 내부에 인터셉터를 다음과 같이 구성하십시오.

    <mvc:interceptors>
        <mvc:interceptor>
            <mvc:mapping path="/**/*"/>
            <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>
        </mvc:interceptor>
    </mvc:interceptors>
    

    참고 : 응용 프로그램을 테스트하는 동안 브라우저 캐시를 제거하는 것을 잊지 마십시오.

  4. from https://stackoverflow.com/questions/2249888/how-to-handle-back-browser-button-problem-using-spring by cc-by-sa and MIT license