2014-03-03 2 views
1

로그인 서블릿에서 사용자 이름, 비밀번호 및 위치가 올바른 경우 HttpSession을 생성하고 jsp 페이지로 이동합니다. 아래 서블릿의 코드는 다음과 같습니다.jsp에서 HttpSession이 액세스 서블릿으로 선언 된 경우

HttpSession sessionsa = request.getSession(true); 
    sessionsa.setAttribute("user",userName); //userName is a String variable 
    sessionsa.setAttribute("location",location); //location in value place is a String variable 

이제 JSP 페이지에서 속성에 액세스 할 수 없습니다. jsp의 코드 :

sessionsa = request.getSession(); 
    String user = (String) sessionsa.getAttribute("user"); 
    String location = (String) sessionsa.getAttribute("location"); 

SimplifiedJSPServlet 클래스의 심볼 변수 sessionsa를 찾을 수 없다는 내용입니다. 도와주세요. 2 일 이래로 인터넷 검색을 해왔습니다.

답변

3

이렇게하려면 먼저 jsp에서 세션 생성을 거짓으로 만듭니다.

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" 
pageEncoding="ISO-8859-1" session="false"%> 

그런 다음 세션을 얻을 이로써
<% 
HttpSession sessionsa = request.getSession(false); 
String user = (String) sessionsa.getAttribute("user"); 
String location = (String) sessionsa.getAttribute("location"); 
%> 

당신이 당신을 도울 것입니다 session.Hope에서 사용자와 위치를 얻을 것이다.

1

session 변수 (요청과 관련된 HttpSession 객체)를 직접 사용할 수 있습니다. JSP에서는 Implicit Objects으로 사용할 수 있습니다. 초기화 또는 getSession()없이 세션 객체를 사용할 수 있습니다.

<%@ page session="false" %> 
이 는이 라인 included.If JSP에 포함되어있는 그것은 JSP 파일에서 세션 추적을 사용할 수 없게됩니다

당신이 캔트 당신이 JSP에 선 아래에 포함되지 않은 경우

session 객체는 JSP에서 사용할 수 있습니다 JSP에서 직접 session 개체를 사용할 수 있습니다. Rererence의 문서에서

:

JSP Implicit Objects are the Java objects that the JSP Container makes available 
to developers in each page and developer can call them directly without being 
explicitly declared. 

귀하의 경우에 당신은 코드 아래 사용 할 수 있습니다.

String user = (String) session.getAttribute("user"); 
String location = (String) session.getAttribute("location"); 
0
당신은 직접 사전에 모든 JSP의 범위에 정의 된 세션 변수 사용하여 값을 가져 오기 위해 시도 할 수

:

(String)session.getAttribute("name"); 
관련 문제