ITPUB??ì3
12月微软Hyper-V虚拟化沙龙主题征集
ITPUB论坛 » WEB程序开发 » jsp 的java bean 和 session 問題

新一届的微软MVP评选已经开始,欢迎各位推荐!

标题: jsp 的java bean 和 session 問題
离线 splam
一般会员



精华贴数 0
个人空间 0
技术积分 342 (5807)
社区积分 0 (108814)
注册日期 2004-3-6
论坛徽章:0
      
      

发表于 2004-7-5 10:28 
jsp 的java bean 和 session 問題

當我在一頁jsp裏先call session.getAttribute() , 然後再call bean的時侯
就會有error,
error 就是 session.getAttribute() 所return 的值是null,
但應該不是null 的. 應該是有值的.

請各位大哥幫忙幫忙!


<%@ page contentType="text/html;charset=big5"%>
<%@ page import="java.sql.*,java.io.*,java.lang.*,java.util.*"%>
<%@ page import="database.ConnectionBean"%>
<%
  String stf_id = (String) session.getAttribute("stf_id";
  if(stf_id == null || stf_id.equals("") {
    response.sendRedirect("index.jsp?error_msg=DoNotLogin";          
  }
%>
<jsp:useBean id="ims" class="ims.IMSBean" scope="session"></jsp:useBean>

<%

ConnectionBean conn = new ConnectionBean();
conn.setConnection(ims.getConnection());

conn = ims.getMaterial(str_cat_id,str_sub_cat_id,str_mat_id,"";

%>


只看该作者    顶部
离线 yining
非典型性会员


精华贴数 17
个人空间 0
技术积分 13192 (87)
社区积分 12572 (122)
注册日期 2001-11-13
论坛徽章:31
现任管理团队成员2008北京奥运纪念徽章:排球2008北京奥运纪念徽章:击剑2008北京奥运纪念徽章:足球生肖徽章2007版:蛇生肖徽章2007版:鸡
生肖徽章2007版:龙生肖徽章:猪生肖徽章:虎   

发表于 2004-7-5 11:40 
1. type of app server and version number
2. how did you initialize the session.


__________________
Evil prevails when good men fail to act.
只看该作者    顶部
离线 splam
一般会员



精华贴数 0
个人空间 0
技术积分 342 (5807)
社区积分 0 (108814)
注册日期 2004-3-6
论坛徽章:0
      
      

发表于 2004-7-6 09:37 
tomcat 5.019 (window version)

finally, i found the problem.

<%@ page contentType="text/html;charset=big5"%>
<%@ page import="java.sql.*,java.io.*,java.lang.*,java.util.*"%>
<%@ page import="database.ConnectionBean"%>
<%
if((String) session.getAttribute("stf_id" == null) {  // this is what i change
response.sendRedirect("index.jsp?error_msg=DoNotLogin";
}
%>


只看该作者    顶部
离线 omencathay
菜田守望者


精华贴数 7
个人空间 80
技术积分 5173 (268)
社区积分 7016 (222)
注册日期 2002-10-21
论坛徽章:7
现任管理团队成员     
      

发表于 2004-7-6 10:20 
你的session是如何初始化的?


只看该作者    顶部
离线 splam
一般会员



精华贴数 0
个人空间 0
技术积分 342 (5807)
社区积分 0 (108814)
注册日期 2004-3-6
论坛徽章:0
      
      

发表于 2004-7-7 09:32 
在一個user login page (user_login.jsp) 裏面初始化的.
如果user name 同 password是正確的,
那麼就在user_login.jsp裏面初始化session:
session.setAttribute("stf_id",value);
然後, reponse.sendRedirect("URL" 去指定的某個page

我還有一個問題,那就是:
在某個jsp page裏面執行了reponse.sendRedirect("URL"之後
為什麼這句reponse.sendRedirect("URL" 之後的code 還會執行呢!

可否終斷它而不在run後面的code呢?


只看该作者    顶部
离线 omencathay
菜田守望者


精华贴数 7
个人空间 80
技术积分 5173 (268)
社区积分 7016 (222)
注册日期 2002-10-21
论坛徽章:7
现任管理团队成员     
      

发表于 2004-7-7 10:19 
你把初始化session的代码贴出来看看

另外你的if语句的写法,如果不执行后面的,应该加上else

<%
String stf_id = (String) session.getAttribute("stf_id";
if(stf_id == null || stf_id.equals("") {
response.sendRedirect("index.jsp?error_msg=DoNotLogin";
}
else {
%>
<jsp:useBean id="ims" class="ims.IMSBean" scope="session"></jsp:useBean>

<%

ConnectionBean conn = new ConnectionBean();
conn.setConnection(ims.getConnection());

conn = ims.getMaterial(str_cat_id,str_sub_cat_id,str_mat_id,"";

}%>


只看该作者    顶部
离线 spring_kang
初级会员



精华贴数 0
个人空间 0
技术积分 12 (75786)
社区积分 21 (7530)
注册日期 2004-7-1
论坛徽章:0
      
      

发表于 2004-7-7 13:49 
请omencathay帮忙!

omencathay我给你发了封邮件到omencathay@itpub.net请查收一下吧!


只看该作者    顶部
离线 splam
一般会员



精华贴数 0
个人空间 0
技术积分 342 (5807)
社区积分 0 (108814)
注册日期 2004-3-6
论坛徽章:0
      
      

发表于 2004-7-8 09:30 
session 在此admin_login.jsp 初始化的


<%@ page contentType="text/html;charset=Big5"%>
<%@ page import="java.sql.*,java.io.*,java.lang.*,java.util.*,java.net.*"%>
<jsp:useBean id="weblib" class="weblib.WebLib" scope="session"></jsp:useBean>
<jsp:useBean id="staff" class="staff.Staff" scope="page"></jsp:useBean>
<%
   response.setHeader("Cache-Control", "no-cache";
   response.setHeader("Pragma", "no-cache";
   response.addDateHeader("Expires", 0);     
   String stfuname = weblib.checkNull(request.getParameter("stfuname");
   String passwd = weblib.checkNull(request.getParameter("passwd");
   String error_msg = weblib.checkNull(request.getParameter("error_msg");
   
   stfuname = stfuname.toUpperCase();
   
   if(error_msg.equals("DoNotLogin") {
     error_msg = "請重新登入!";     
   }  
   
   if(!stfuname.equals("" && !passwd.equals("") {
     if(staff.open_connection()) {
         String stf_id = staff.checkPass(stfuname,passwd);          
       if(!stf_id.equals("") {
           if(staff.checkPrivi(stf_id,"1") {                    
                 session.setAttribute("stf_id",stf_id);
                response.sendRedirect("item_category.jsp?pass_stf_id="+stf_id);
           }
         else {
               error_msg = "沒有權限!";                    
          }
       }
     else {
        error_msg = "密碼不正確!";
      }          
    }
    else {
         error_msg = "連接數據庫失敗!";          
     }
   }   
   
   
%>


只看该作者    顶部
离线 yining
非典型性会员


精华贴数 17
个人空间 0
技术积分 13192 (87)
社区积分 12572 (122)
注册日期 2001-11-13
论坛徽章:31
现任管理团队成员2008北京奥运纪念徽章:排球2008北京奥运纪念徽章:击剑2008北京奥运纪念徽章:足球生肖徽章2007版:蛇生肖徽章2007版:鸡
生肖徽章2007版:龙生肖徽章:猪生肖徽章:虎   

发表于 2004-7-8 09:58 
这样的初始化不一定正确吧?


__________________
Evil prevails when good men fail to act.
只看该作者    顶部
离线 yining
非典型性会员


精华贴数 17
个人空间 0
技术积分 13192 (87)
社区积分 12572 (122)
注册日期 2001-11-13
论坛徽章:31
现任管理团队成员2008北京奥运纪念徽章:排球2008北京奥运纪念徽章:击剑2008北京奥运纪念徽章:足球生肖徽章2007版:蛇生肖徽章2007版:鸡
生肖徽章2007版:龙生肖徽章:猪生肖徽章:虎   

发表于 2004-7-8 10:05 
HttpSession session = request.getSession(true);

然后使用这个session。


__________________
Evil prevails when good men fail to act.
只看该作者    顶部
相关内容


CopyRight 1999-2006 itpub.net All Right Reserved.
北京皓辰广域网络信息技术有限公司. 版权所有
E-mail:Webmaster@itpub.net
京ICP证:010037号 联系我们 法律顾问