2012-04-01 4 views
0

내 서블릿에서 세션을 설정하고 액세스하려하지만 실제로 작동하지 않습니다.서블릿에서 JSP 세션에 액세스

모든 자습서는 request.getSession (true)을 호출합니다. 세션 개체에 대한,하지만 난 "요청을 확인할 수 없습니다"얻을.

나는 JSP 페이지에서 논리적으로도 taglibs와 함께 작동해야한다.

어떻게 세션 데이터에 액세스 할 수 있습니까? 감사합니다.

package controller; 

import java.io.*; 
import javax.servlet.*; 
import javax.servlet.jsp.*; 
import javax.servlet.http.*; 
import javax.servlet.jsp.tagext.*; 

public class Initialize extends BodyTagSupport 
{ 
    public int doEndTag() throws JspTagException 
    { 
     try 
     { 
      // Implementation 
      JspWriter out = pageContext.getOut(); 
      HttpSession session = request.getSession(true); 
      out.println(session.getId()); 
      return SKIP_BODY; 
     } 
     catch(IOException error) 
     { 
      throw new JspTagException(error); 
     } 
    } 
} 
+0

좋아, 내가 그것을 알아 냈다. HttpSession 세션 = pageContext.getSession();을 사용해야했습니다. 페이지 지시문에 session = "true"가 포함되어 있어야합니다. –

+0

page 지시어는 session = "true"지시자가 필요하지 않아야한다. 명시 적으로 session = "false"를 지정하지 않으면 모든 JSP 페이지가 세션을 생성합니다. – reevesy

답변

0

태그 라이브러리에서 세션 데이터 액세스를위한 올바른 예는이었을 것입니다 :

package controller; 

import java.io.*; 
import javax.servlet.*; 
import javax.servlet.jsp.*; 
import javax.servlet.http.*; 
import javax.servlet.jsp.tagext.*; 

public class Initialize extends BodyTagSupport 
{ 
    public int doEndTag() throws JspTagException 
    { 
     try 
     { 
      // Implementation 
      JspWriter out = pageContext.getOut(); 
      HttpSession session = pageContext.getSession(true); 
      out.println(session.getId()); 
      return SKIP_BODY; 
     } 
     catch(IOException error) 
     { 
      throw new JspTagException(error); 
     } 
    } 
} 
관련 문제