免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1485 | 回复: 2
打印 上一主题 下一主题

webspere中有关session的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-11-18 14:02 |只看该作者 |倒序浏览
我的源码是:
<%@ page language="java" contentType="text/vnd.wap.wml;charset=GB2312" %>
<%@page import="com.icbc.cc.common.*,com.icbc.cc.app.base.*,com.icbc.cc.app.object.*"%>
<%
        ValuePackage  outPkg=(ValuePackage)request.getAttribute("pkg");
        System.out.println("In menu_dljf.jsp");
        String kdmt= (String)session.getAttribute("kdmt");
        System.out.println("In menu_dljf.jsp kdmt==:"+kdmt);
        String firstshow = (String)session.getAttribute("firstshow");
        String TermID = (String)session.getAttribute("TermID");
        System.out.println("In menu_dljf.jsp firstshow==:"+firstshow);
        System.out.println("In menu_dljf.jsp TermID==:"+TermID);
%>

<?xml version="1.0" encoding="gb2312"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
    <head>
        <meta content="must-revalidate" http-equiv="Cache-Control"/>
        <meta content="Tue, 01 Jan 1980 1:00:00 GMT" http-equiv="Expires"/>
        <meta content="max-age=0" http-equiv="Cache-Control"/>
    <META name="GENERATOR" content="IBM WebSphere Studio"/>
</head>
    <card >
<%
if(firstshow.equals("1"))
{
%>
<setvar name="setvarkdmt" value="<%=kdmt%>"/>
<%
session.setAttribute("firstshow","0");
}
%>
<p align="center"><b>代 理 缴 费</b><br/><br/>
<anchor>返回首页<go href="../signout/SignOutServlet" method="post">
                   <setvar name="termkey" value="-1"/>
          <postfield name = "TermID" value ="$termkey"/>
        </go>
           </anchor><br/>
</p>
</card>
</wml>


为什么firstshow的值在转到后台servlet和下一个页面时,通过
String firstshow = (String)session.getAttribute("firstshow");
取到的firstshow的值为null呢?
请各位帮忙。

论坛徽章:
0
2 [报告]
发表于 2005-11-18 15:42 |只看该作者
定义监听器监听HttpSession对象的创建和销毁是Servlet2.3以上规范所提供的一个新功能。每当有新的用户访问网站,应用服务器会创建一个HttpSession对象;每当Session超时,应用服务器则会销毁该对象。
HttpSessionBindingListener:每当往Session中存入一个对象(setAttribute)或从Session中删除一个对象的时候,如果这个对象实现了此监听器接口,应用服务器将会自动调用接口相应的方法。

需要注意的是,在sessionDestroyed方法和valueUnbound方法中,你可以得到HttpSession对象的实例,但是其getAttribute方法不再可用,也就是在这两个方法中,你不能再次得到存入session中的对象。


doing like this:

User.java

  1. /**
  2. * User.java
  3. * Created on **-**-**
  4. */
  5. package a.*;

  6. /**
  7. * @author **
  8. *  
  9. */
  10. public class User{
  11.     private String address;
  12.     private String id;
  13.     private String name;
  14.     /**
  15.      * @see java.lang.Object#equals(java.lang.Object)
  16.      */
  17.     public boolean equals(Object obj) {
  18.         if (obj == null || !(obj instanceof User)) {
  19.             return false;
  20.         }
  21.         if(this.id !=null && this.id.equals(((User)obj).getId())){
  22.             return true;
  23.         }
  24.         return false;
  25.     }

  26.     /**
  27.      * @return
  28.      */
  29.     public String getAddress() {
  30.         return address;
  31.     }

  32.     /**
  33.      * @return
  34.      */
  35.     public String getId() {
  36.         return id;
  37.     }

  38.     /**
  39.      * @return
  40.      */
  41.     public String getName() {
  42.         return name;
  43.     }

  44.     /**
  45.      * @param string
  46.      */
  47.     public void setAddress(String string) {
  48.         address = string;
  49.     }

  50.     /**
  51.      * @param string
  52.      */
  53.     public void setId(String string) {
  54.         id = string;
  55.     }

  56.     /**
  57.      * @param string
  58.      */
  59.     public void setName(String string) {
  60.         name = string;
  61.     }
  62.      
  63.     /**
  64.      * @see java.lang.Object#toString()
  65.      */
  66.     public String toString() {
  67.         return "name:"+name + ",id:" + id + ",address:"+address;
  68.     }

  69. }

复制代码


test.jsp

  1. <%@ page import="a.*" %>

  2. <%
  3. User u = (User)session.getAttribute("currentUser");
  4. String name = request.getParameter("user");

  5. if(u != null){
  6.     String remote = request.getRemoteAddr();
  7.     u.setAddress(remote);
  8.      
  9. }

复制代码

论坛徽章:
0
3 [报告]
发表于 2005-11-18 21:27 |只看该作者
wml ?手机支持COOKIE 吗? 传SESSIONID吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP