[SPRING] 어떻게 봄을 사용하여 다시 브라우저 버튼 문제를 처리 할 수 있습니까?
SPRING어떻게 봄을 사용하여 다시 브라우저 버튼 문제를 처리 할 수 있습니까?
스프링을 사용하여 브라우저 버튼 문제를 다시 처리하는 방법은 무엇입니까?
내 응용 프로그램 사용자 로그인에서 제대로 및 사용자가 다시 버튼 페이지 상태가 유지되지 않습니다를 클릭하십시오. 그래서 나는 사용자가 뒤로 버튼 / 앞으로 버튼을 클릭해도 페이지 상태를 유지합니까?
감사
해결법
-
==============================
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.Spring Web Flow를 사용할 수있다.
Spring Web Flow를 사용할 수있다.
스프링 웹 플로우를 확인하기 위해이 링크를 추천한다.
-
==============================
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>
참고 : 응용 프로그램을 테스트하는 동안 브라우저 캐시를 제거하는 것을 잊지 마십시오.
from https://stackoverflow.com/questions/2249888/how-to-handle-back-browser-button-problem-using-spring by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] JPA는 분리 된 객체를 삭제한다고 생각합니다. (0) | 2019.02.01 |
---|---|
[SPRING] @Component로 클래스에 주석을 달 때 Spring Bean과 Singleton을 의미합니까? (0) | 2019.02.01 |
[SPRING] Spring DI applicationContext.xml xsi : schemaLocation은 정확히 어떻게 사용됩니까? (0) | 2019.01.31 |
[SPRING] Hibernate Validator, 사용자 정의 ResourceBundleLocator 및 Spring (0) | 2019.01.31 |
[SPRING] 하나의 DataSource로 Spring의 프로그래밍 방식으로 데이터베이스를 변경하는 방법 (0) | 2019.01.31 |