首页 > 代码库 > pageContext 获取Session 为null原因
pageContext 获取Session 为null原因
问题:在J2EE应用中,发现在自定义标签中取不到session:
HttpSession session = pageContext.getSession();
你会发现session的值可能是空的。
原因:在标签所在的JSP页面中禁用了Session,见红色字体部分,例如下面是一个JSP页面头的声明:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"session="false"%>
若在这个页面内包含有一个自定义标签,这在自定义标签中session不能获取到:
public int doStartTag() throws JspException {try {
HttpSession sess = pageContext.getSession();
}
附:JSP内置对象映射表
对象名 | 类型 | 作用域 |
request | javax.servlet.ServletRequest | Request |
response | javax.servlet.ServletResponse | Page |
pageContext | javax.servlet.jsp.PageContxt | Page |
session | javax.servlet.http.HttpSession | Session |
application | javax.servlet.ServletContext | Application |
out | javax.servlet.jsp.JspWriter | Page |
config | javax.servlet.ServletConfig | Page |
page | java.lang.Object | Page |
exception | java.lang.Throwable | Page |
pageContext 获取Session 为null原因