偶写jsp时候想用session,于是新建了个文件,写了2行如下,可报错<%@page contentType="text/html;charset=gb2312" language="java" ><%
session.setAttribute("session_name","");out.print((String)session.getAttribute(session_name));
%>可就是出错,错误提示为
Method setAttribute(java.lang.String) not found in found in interface javax.servlet.http.HttpSessionMethod getAttribute(java.lang.String) not found in found in interface javax.servlet.http.HttpSession偶配置的是 resin-2.1.9 + apacher + j2eesdk  的环境谢谢

解决方案 »

  1.   

    Method setAttribute(java.lang.String) not found in found in interface javax.servlet.http.HttpSession
    意思是说。在这个接口里,创建不了这个方法!
      

  2.   

    out.print((String)session.getAttribute(session_name));
    是错误语句!!应该改为out.print((String)session.getAttribute("session_name"));
      

  3.   

    out.print((String)session.getAttribute(session_name));
    改成out.print((String)session.getAttribute("session_name"));试试
      

  4.   

    偶写错了,我写的是out.print((String)session.getAttribute("session_name"));,我有引号的,不是这个原因
      

  5.   

    <%@page contentType="text/html;charset=gb2312" language="java" >你的这句。少了个%,也是自己写错的?
    <%@page contentType="text/html;charset=gb2312" language="java"%>
      

  6.   

    对也是我写错了,干脆重写过
    <%@page contentType="text/html;charset=gb2312" language="java" %><%
    session.setAttribute("session_name","");out.print((String)session.getAttribute("ession_name");
    %>
      

  7.   

    感觉是环境问题,你试试单跑resin如何?tomcat是没有问题的
      

  8.   

    我也估计是环境问题,可写其它的jsp代码都没有问题啊
      

  9.   

    你重写的也写错了
    --------------------
    对也是我写错了,干脆重写过
    <%@page contentType="text/html;charset=gb2312" language="java" %><%
    session.setAttribute("session_name","");out.print((String)session.getAttribute("ession_name");
    %> ———————————————————— 
      

  10.   

    <%@page contentType="text/html;charset=gb2312" language="java"%><%
         session.setAttribute("session_name","");     out.print((String)session.getAttribute("ession_name");
    %>这个代码,在我这里运行没有问题。如果你还是出错的话。肯定是环境问题!
      

  11.   

    偶这里可以运行
    <%@page contentType="text/html;charset=gb2312" language="java" %>
    <%
    session.setAttribute("session_name","");
    out.print((String)session.getAttribute("session_name"));
    %>
      

  12.   

    大家不要老纠缠在笔误上啊,出错信息都写了是
    错误提示为
    Method setAttribute(java.lang.String) not found in found in interface javax.servlet.http.HttpSessionMethod getAttribute(java.lang.String) not found in found in interface javax.servlet.http.HttpSession我估计一定是
    不同的版本对servlet.jar等javax组件和jdk的要求不同。如Websphere 3.5所要求的servlet.jar 支持的是旧版本的javax.servlet.http.HttpSession操作,不支持session.setAttribute() session.getAttribute()。
      

  13.   

    再次通报,我写了句 out.print(session.getId());居然有显示出一串数字来,是不是说明setSession 是成功的啊? 可既然是成功的为什么报错呢
      

  14.   

    out.print(session.getId());说明session对象存在建议你用反射看看这个session到底有什么方法一直纳闷为何没有最为常用的set和getAttribute方法
      

  15.   

    用反射看看这个session到底有什么方法?? 怎么反射?
      

  16.   

    太经典的问题了,估计LZ在写这个代码之前写过这句session.setAttribute("session_name");
    并且编译执行过,把resin的work下子目录删掉就好咯。resin毛病多多。。
      

  17.   


    靠,这个绝对写错
    =====================
    对也是我写错了,干脆重写过
    <%@page contentType="text/html;charset=gb2312" language="java" %><%
    session.setAttribute("session_name","");out.print((String)session.getAttribute("ession_name");
    %>
      

  18.   

    其实问题就出在 session.setAttribute("session_name","");正确的写法为
    session.setAttribute("session_name",);因为你是把变量的值存到session_name中,然后通过out.print((String)session.getAttribute("session_name");就可以了