<%
if (request.getParameter("pass")=="abc123") {
   response.sendRedirect("index.jsp");
} else {
   Session.setAttribute("user","china");
   response.sendRedirect("main.jsp");
}
%>输入密码,然后判断,是否是“abc123”,决定转向的页面。
结果总是提示:未定义的变量或类名:Session
                   Session.setAttribute("user","worldsky");
                   ^
1 个错误, 1 个警告怎么回事啊?是不是少了什么东西?还有阿,我把“Session.setAttribute("user","china");”去掉,也不能自动转向其他页面,也是提示处错。我以前是写ASP的,这个项目非要用jsp,没办法,希望大家帮忙。谢谢

解决方案 »

  1.   

    request.getParameter("pass")=="abc123"这个也是错的
    这是在检验它们是否引用相同的内存地址
    if(request.getParameter("pass")!=null && request.getParameter("pass").equals("abc123"))
    like this!
      

  2.   

    把session改成小写后,出错的信息变了:在 interface javax.servlet.http.HttpSession
    中未找到方法 setAttribute(java.lang.String, java.lang.String)。
                       session.setAttribute("user","china");
                                           ^
    1 个错误, 1 个警告
      

  3.   

    还有,在去掉session那段代码后,
    我把request.getParameter("pass")=="abc123"改了。但是还是不能自动转向。我用的webserver是jswdk。
    他的提示信息,我有点看不懂。com.sun.web.core.DefaultServlet: init
    HANDLER THREAD PROBLEM: java.net.SocketException: Socket is closed
    java.net.SocketException: Socket is closedHANDLER THREAD PROBLEM: java.net.Socke
    tException: Socket is closed        at java.net.Socket.getInputStream(Unknown Source)
            at com.sun.web.server.ConnectionHandler.run(ConnectionHandler.java:161)
    HANDLER THREAD PROBLEM: java.net.SocketException: Socket is closed
    java.net.SocketException: Socket is closed
            at java.net.Socket.getInputStream(Unknown Source)
            at com.sun.web.server.ConnectionHandler.run(ConnectionHandler.java:161)
    java.net.SocketException: Socket is closed
            at java.net.Socket.getInputStream(Unknown Source)
            at com.sun.web.server.ConnectionHandler.run(ConnectionHandler.java:161)
    com.sun.jsp.runtime.JspServlet: init
    Scratch dir for the JSP engine is: work\%3A80%2F
    IMPORTANT: Do not modify the generated servlets
    HANDLER THREAD PROBLEM: java.net.SocketException: Socket is closed
    java.net.SocketException: Socket is closed
            at java.net.Socket.getInputStream(Unknown Source)
            at com.sun.web.server.ConnectionHandler.run(ConnectionHandler.java:161)
    HANDLER THREAD PROBLEM: java.net.SocketException: Socket is closed
    java.net.SocketException: Socket is closed
            at java.net.Socket.getInputStream(Unknown Source)
            at com.sun.web.server.ConnectionHandler.run(ConnectionHandler.java:161)
    HANDLER THREAD PROBLEM: java.net.SocketException: Socket is closed
    java.net.SocketException: Socket is closed
            at java.net.Socket.getInputStream(Unknown Source)
            at com.sun.web.server.ConnectionHandler.run(ConnectionHandler.java:161)
    HANDLER THREAD PROBLEM: java.net.SocketException: Socket is closed
    java.net.SocketException: Socket is closed
            at java.net.Socket.getInputStream(Unknown Source)
            at com.sun.web.server.ConnectionHandler.run(ConnectionHandler.java:161)
      

  4.   

    改为session.setAttribute("user",new String("china"));
      

  5.   

    if ((String)request.getParameter("pass")=="abc123") {
       response.sendRedirect("index.jsp");
    }
      

  6.   

    用request.getSession()先得到session再用。
      

  7.   

    session.setAttribute("user",new String("china")); 还是出错,出错信息是一样的:在 interface javax.servlet.http.HttpSession
    中未找到方法 setAttribute(java.lang.String, java.lang.String)。
                       session.setAttribute("user","china");
                                           ^
    1 个错误, 1 个警告另外我在设置session之前加了“request.getSession();”,也没有用。怎么办啊,一共就几行代码,老是搞不定。
      

  8.   

    request.getSession().setAttribute("user",new String("china")); 这样也不行吗?
      

  9.   

    用request.getSession().setAttribute("user",new String("china")); 还是提示一样的错误。那个键头指在setAttribute这里,是不是他有问题阿?我得java基础很差,没办法,人家很快就要阿。我还是花了两天看书的。
    要用asp两天项目就作完了。可人家非要在windows 2000上用jsp。说是代码统一。
      

  10.   

    你的其他页面的session和request调用有没有成功过,如果这个是第一个页面的话我觉得可能你的jsp服务器会有点问题,因为这里Jsp的两个内建对象都不能正常使用
      

  11.   

    request 和 response 调用是成功的。就是这个session,是不是setAttribute有问题?
      

  12.   

    第一个页面就一个form,输入密码,传入这一页
      

  13.   

    你可以做个试验嘛,整个页面就一条语句,set 一个 session,看可不可以执行
      

  14.   

    我把其他的都删掉了,就一行代码
    request.getSession().setAttribute("user","worldsky");还是出错
      

  15.   

    我贴出来的就是整个页面代码阿,一共不超过10行。我在想是不是针对session调用,还要在前面加上什么代码阿,比如说
    在页面头部加上“<% Page session=true %>”等等
      

  16.   

    这个页面的功能起时就是检测用户在上个页面输入的密码是否正确,根据对错转向相应的页面。
    现在就下面这行代码不能运行。
    request.getSession().setAttribute("user","worldsky");
    我把其他的代码都删了,只留这行代码,依然不行。
      

  17.   

    rg_nightkid() 的意思应该是你通过服务器访问这个页面的时候是不是正常
      

  18.   

    访问正常啊asp里面这个代码的功能就是:session("user") = "worldsky"jsp里面,我先用了:session.setAttribute("user","worldsky");
    后来用了request.getSession().setAttribute("user","worldsky");
    但都不行
      

  19.   

    不是,我是说他是在什么环境下运行的。没准他的程序根本就没建立session,那还取什么呀。或者类似的问题,明白了吧。
      

  20.   

    我要是去掉session附值这行代码,页面就是成功的。
      

  21.   

    你的服务器支不支持jsp 的啊?
    问这个问题颇有点弱智,但还是要问一下
      

  22.   

    当然支持了,要不其他的jsp代码如何能通过
      

  23.   

    chinagod(繁星) ( ) 信誉:70    Blog  2006-9-30 15:05:07  得分: 0 
          第一个页面就一个form,输入密码,传入这一页
    ---------------------------------------------------------------------
    貌似jsp之间不能getParameter这样取值
      

  24.   

    第一个页面是index.jsp,里面就一个form,提交到这一页处理。
      

  25.   

    那位老兄现在的问题是就算一个页面只set一个session都出错阿,怀疑他的服务器对支持session颇有问题的说
      

  26.   

    现在主要的问题是哪有一个jsp往另一个jsp提交form的。搂住作asp的,jsp基本概念都没有。不保搂住在这个jsp叶面以外别的什么地方设置有问题,导致这个不能运行。
    这个问题在这说不会有答案的。揭帖把,搂住
      

  27.   

    我知道问题在哪儿了,但不知道怎么解决。
    setAttribute(String name, java.lang.Object value)
    上面是setAttribute的定义。
    我现在用这种方法调用:session.setAttribute("user","worldsky");他就提示无法找到下面的方法:
    setAttribute(java.lang.String, java.lang.String)是不是这里有问题?
      

  28.   

    所以我就告诉你 setAttribute("user",new String("china"))
    new String("china")才是一个对象
      

  29.   

    理论上说呢setAttribute("user",new String("china"))这样set进去才是最规范的,但是
    setAttribute("user", "china")这样也不会错
      

  30.   

    session.setAttribute("user",new String("china")); 还是出错,出错信息是一样的:在 interface javax.servlet.http.HttpSession
    中未找到方法 setAttribute(java.lang.String, java.lang.String)。
                       session.setAttribute("user","china");
                                           ^
    1 个错误, 1 个警告另外我在设置session之前加了“request.getSession();”,也没有用。怎么办啊,一共就几行代码,老是搞不定。
      

  31.   

    你用request.getSession().setAttribute("user",name)
      

  32.   

    jsp 和servlet的jar包都加上了吗