우선, 소위 '범위'가 '정보 공유의 범위', 즉 정보가 유효할 수 있는 범위임을 선언할 필요가 있습니다. 네 가지 JSP 내장 객체의 범위는 애플리케이션, 세션, 요청 및 페이지입니다.
추천 과정: JavaTutorial.
jsp의 네 가지 주요 범위는 다음과 같습니다.
1 , application Scope
애플리케이션에 변수를 넣는 경우 해당 범위는 애플리케이션이고 유효 범위는 전체 애플리케이션이라는 의미입니다. 전체 애플리케이션은 애플리케이션의 시작부터 애플리케이션의 종료까지를 의미합니다. 서버가 여러 응용 프로그램을 배포할 수 있기 때문에 "서버 시작부터 서버 종료까지"라고 말하지 않습니다. 물론 서버를 종료하면 서버에 있는 모든 응용 프로그램도 종료됩니다. 응용 프로그램 범위의 변수는 생존 시간이 가장 길며 수동으로 삭제하지 않으면 언제든지 사용할 수 있습니다.
Object getAttribute(String name) //애플리케이션에서 정보 가져오기
void setAttribute(String name,Object value) //애플리케이션 범위에 정보를 설정합니다.
2. 세션 범위
세션에 변수를 넣으면 해당 범위가 세션이고 유효한 범위는 다음과 같습니다. 현재 세션. 소위 현재 세션은 사용자가 브라우저를 열 때부터 브라우저를 닫을 때까지의 프로세스를 말합니다.
Object HttpSession.getAttribute(String name) //세션에서 정보를 가져옵니다.
void HttpSession.setAttribute(String name,Object value) //세션에 정보를 저장합니다.
HttpSessionHttpServletRequest.getSessio() //현재 요청이 있는 세션 객체를 가져옵니다.
session 브라우저가 첫 번째 HTTP 요청을 하면 세션이 시작된 것으로 간주됩니다. 하지만 종료 여부를 판단하기는 어렵습니다. 브라우저가 닫혀도 서버에 알림이 전송되지 않기 때문입니다. 따라서 다음 방법으로만 판단할 수 있습니다. 클라이언트가 일정 시간 내에 응답하지 않으면 세션이 종료된 것으로 간주합니다. 끝났다. Tomcat의 기본값은 120분이지만 이 값은 HttpSession의 setMaxInactiveInterval() 메서드를 통해 설정할 수도 있습니다.
void setMaxInactiveInterval(int 간격)
적극적으로 수행하려는 경우 세션을 종료합니다. 예를 들어 사용자가 "로그아웃" 버튼을 클릭하면 HttpSession의 무효화() 메서드를 사용하여 현재 세션을 강제로 종료할 수 있습니다. void 무효화()
Session 삭제 시간은 #🎜🎜 #
1) 세션 타임아웃(Session timeout) : 타임아웃이란 서버가 일정 시간 동안 해당 세션에 해당하는 클라이언트의 요청을 받지 못하여 이 시간이 최대 시간을 초과하는 것을 말합니다. 서버에서 설정한 세션 시간 초과입니다. 2) 프로그램이 HttpSession.invalidate()를 호출합니다3) 서버가 종료되거나 서비스가 중지됩니다참고: #🎜 🎜#1) *.html의 정적 리소스에 액세스하면 서블릿으로 컴파일되지 않으므로 세션 문제가 발생하지 않습니다.
2) JSP 페이지가 세션을 명시적으로 금지하지 않는 경우 브라우저를 열고 처음으로 jsp를 요청할 때 서버는 자동으로 세션을 생성하고 세션 ID를 제공하여 다음으로 전송합니다. 클라이언트의 브라우저.
3) 세션은 메모리 자원을 소모하므로 세션을 사용하지 않을 경우 모든 JSP에서 세션을 종료해야 합니다.
4) 브라우저를 닫아도 세션은 삭제되지 않으며, 위 3가지 방법을 통해서만 세션을 삭제할 수 있습니다.
세션은 어디에 저장되나요? -----------서버측 메모리에 있습니다.
3. 요청 범위요청의 변수는 전달 전후의 두 페이지에 걸쳐 있을 수 있습니다. 그러나 페이지를 새로 고칠 때마다 다시 계산됩니다.
요청 전달: servlet.getRequestDispatcher("new.jsp").forward(req,resp);
참고:
1. 서버 동작이고 리디렉션은 클라이언트 동작입니다.
2. 서버에 어떻게 전달되든 원래 서블릿의 주소는 여전히 브라우저 주소 표시줄에 표시됩니다.
4. 페이지 범위페이지 개체의 범위는 사용자가 요청한 현재 페이지로 제한됩니다.
#🎜 🎜#request 페이지와 페이지의 수명 주기는 짧습니다. 차이점은 요청에 여러 페이지(포함, 전달 및 필터)가 포함될 수 있다는 것입니다.위 내용은 JSP의 네 가지 주요 범위는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!