이 기사에서는 세션이 만료 된 후 로그인 페이지로 자동 이동하는 Java 웹 구현 기능에 대해 설명합니다. 다음과 같이 참조에 대해 공유하십시오.
필터를 통해 세션은 만료 된 후 로그인 페이지로 자동 이동합니다.
필터는 서틀 사양 버전 2.3과 호환되는 서버에서만 유용합니다. 웹 애플리케이션에서 레거시 서버를 지원 해야하는 경우 필터를 사용할 수 없습니다.
1. 기본 필터를 설정하십시오
필터를 설정하려면 다음 5 단계가 필요합니다.
1) 필터 인터페이스를 구현하는 클래스 세션 필터를 설정하십시오 . 이 클래스에는 세 가지 방법, 즉 Dofilter, Init 및 Destroy가 필요합니다. 도필터 방법에는 기본 필터링 코드가 포함되어 있고, Init Method는 설정 작업을 설정하고 Destion Method가 정리됩니다.
2) 도피 방법에 필터링 동작을 넣으십시오 . 도필터 방법의 첫 번째 매개 변수는 ServletRequest 객체입니다. 이 객체는 양식 데이터, 쿠키 및 HTTP 요청 헤더를 포함한 들어오는 정보에 대한 전체 액세스 권한을 제공합니다. 두 번째 매개 변수는 ServletResponse이며 일반적으로 간단한 필터에서 무시됩니다. 마지막 매개 변수는 다음 단계에서 설명한 바와 같이 필터 체인이며 서블릿 또는 JSP 페이지를 호출하는 데 사용됩니다.
3) SessionFilter 객체의 도필터 방법을 호출하십시오 . 필터 인터페이스의 도필터 메소드는 FilterChain 객체를 매개 변수로 취합니다. 이 객체의 도필터 방법을 호출 할 때 다음 관련 필터가 활성화됩니다. 다른 필터가 서블릿 또는 JSP 페이지와 관련이없는 경우 서블릿 또는 JSP 페이지가 활성화됩니다.
4) 해당 서블릿 및 JSP 페이지에 필터를 등록하십시오 . 배포 디스크립터 파일 (web.xml)에서 필터 및 필터 매핑 요소를 사용하십시오.
5) 활성기 서블릿을 비활성화하십시오 . 기본 서블릿 URL을 사용하여 사용자가 필터 설정을 우회하지 못하도록합니다.
소스 코드는 다음과 같습니다.
패키지 com.base.filter; import java.io.ioexception; import javax.servlet.filter; import javax.servlet.filterchain; import javax.servlet.filterconfig; import javax.servlet.servletexception; import javax.servletrequest; servletrtrestrys; javax.servlet.http.httpervletrequest; import javax.servlet.http.http.httpletresponse; import javax.servlet.http.httpessess; import com.base.constants.ssesskeyconstants; import com.mvvc.entity.user; public sessionfilter {void productfilter {void classefilter com.base.constants.constants. // 필터 파괴, 일반적으로 리소스를 출시} / ** * 일부 URL은 액세스에 로그인해야합니다 (세션 확인 필터) * / public void dofilter (servletrequest arg0, servletreponse arg1, filterchain arg2) ioexception, servletexception {httpservletrequest = (httppservletrequest) arg0; httpservletResponse 응답 = (httpservletResponse) arg1; httpsession session = request.getSession (); // if ((user) session.getAttribute (sessionkeyConstants.login) == null) {문자열 errors = "아직 로그인되지 않았거나 세션이 만료되었습니다. 먼저 로그인하십시오!"; request.setAttribute ( "메시지", 오류); // 로그인 페이지로 건너 뜁니다. } else {arg2.dofilter (요청, 응답); }} public void init (FilterConfig Arg0) servletexception {// 작업 초기화, Web.xml에서 필터 구성의 초기화 매개 변수를 읽고이 방법을 사용하지 않는 요구 사항을 충족합니다.}}}}}2. Web.xml 구성 파일에서 구성합니다
<!-세션 만료 시간을 30 분으로 설정-> <세션 -Config> <세션-타임 아웃> 30 </session-timeout> </session-config> <!-세션 필터 구성 관련-> <filter> <filter-name> sessionfilter </filter-name> <filter class> com.base.filter.sessionfilter </filter class> </filter class> <filter-name> sessionfilter </filter-name> <url-pattern>/contract/*</url-pattern> <url-pattern>/user/*</url-pattern> <dispatcher> </dispatcher> <!-이 경우, 요청이/계약/… 또는/us… 필터. -> <spatcher> 요청 </dispatcher> </필터 매핑>
Java 관련 컨텐츠에 대한 자세한 내용은이 사이트의 주제를 확인하십시오 : "Java 데이터 구조 및 알고리즘 자습서", "Java 파일 및 디렉토리 운영 기술 요약", "Java Operation Dom Node Skills 요약"및 "Java Cache 운영 기술 요약".
이 기사가 모든 사람의 Java 프로그래밍에 도움이되기를 바랍니다.