如题,我用eclipse 3.7 + tomcat 7.0开发jsp程序,有这样一段代码:      <%
         // HttpSession session = request.getSession();
         String sessionId = session.getId();
         out.print("session id: " + sessionId + "<br>");
      %>对这段代码,eclipse一直报告“session cannot be resolved”,非得加上前面那句session的变量声明才行。session不是JSP的隐含对象吗?怎么会需要显式声明?

解决方案 »

  1.   

    肯定是可以的。你引入的sevlet-api.jar的版本可能是不匹配的
      

  2.   

    找到原因了,在前面加上“<%@ page session = "true"%>”就行了。奇怪的是,这个session属性默认值不就是"true"吗?
      

  3.   

    找到了根本的原因:jsp文件里第一行不知怎么会有这么一句:
    <%@ page contentType="text/html; charset=gb2312" pageEncoding="gb2312" session="false"%>,硬是把session给关掉了。把里面的session="false"删除就好了。