二个servlet都要用HttpSession session = req.getSession( true );就去得到req的session 转到另一个页面后也要把这个req转发过去,forward 就行了

解决方案 »

  1.   

    可以使用,使用之前利用HttpSession session = req.getSession( true );取到session对象,然后再使用,绝对没问题。
      

  2.   

    you use session between two different web-app?
      

  3.   

    to  pleonheart(只睡六小时) :
    我的两个serlet都在一个schedule包内,都放在WEB-INF/src/schedule目录下上面两位说的我都用了
    在/servlet/schedule.bottom中有一个链接如下
    http://xx.xx.com.cn/servlet/schedule.bottom?action=list&up=true&date=2004-8-2
    是链接到自身的,在这个servlet中再用
    HttpSession session = req.getSession( true );
    String session_uid = (String )session.getAttribute("uid" );
    String session_passwd = (String )session.getAttribute("passwd" );取值就是为null,请再帮忙看看吧
      

  4.   

    http://xx.xx.com.cn/servlet/schedule.bottom?action=list&up=true&date=2004-8-2
    觉得你的request对象已经被清空了。try:req.setAttribute("action",list);
    ...
    sc.getRequestDispatcher("/servlet/schedule.bottom" ).forward( req, res );明白我的意思吗?
      

  5.   

    我感觉也是request没了。不是session没了
      

  6.   

    to  outiejun(努力赚钱) 
    明白你的意思,可即使是我把链接后面的参数都去掉,变成这样的链接http://xx.xx.com.cn/servlet/schedule.bottom,也不行是不是服务器上需要什么设置?辛苦各位了
      

  7.   

    是啊,我也觉得request没有了
    那像这种在servlet页面上点击链接的情况下,该怎样处理呢?毕竟页面的链接不可能用
    sc.getRequestDispatcher("/servlet/schedule.bottom" ).forward( req, res );
    这样来实现的
      

  8.   

    不是,在servlet里不要写链接,你应该这样传递参数和转发请求:req.setAttribute("action",list);
    req.setAttribute("up",true);
    req.setAttribute("date",2004-8-2);然后声明一个ServletContext,然后转发请求,
    sc.getRequestDispatcher("/servlet/schedule.bottom" ).forward( req, res );这样,你的req始终是持久的。
      

  9.   

    为什么用servlet写页面?jsp多好
      

  10.   

    不是用serlvet写的页面,而是serlver处理xml之后,结合xsl输出的html,简单的说就是模板
    在这个html必然有一些链接,用户通过点击这些链接进行下一步的请求而bottom这个servlet就是用来接受并处理这些请求的,
    现在的问题就是,点击这个页面上链接后,bottom这个servlet就取不到session了不知道是否明白我的意思呢?
    主要的流程就是:
    用户id,pw ->/servlet/schedule.LoginServlet -> 生成session ->/servlet/schedule.bottom ->接受用户请求 ->/servlet/schedule.bottom取到新的数据并输出辛苦 outiejun(努力赚钱) 了
    谢谢
      

  11.   

    是做一个判断用户的合法性吧,不要这样做,写一个filter来判断更好,省得你每个页面都要写语句
      

  12.   

    filter?
    没有用过啊,拜托能给个例子吗?
    就是保存用户信息以及验证合法性的
      

  13.   

    莫名其妙的搞出来了,不知道是否应该这样作ServletContext sc = getServletConfig().getServletContext();
    sc.setAttribute( "uid", uid );
    sc.setAttribute( "passwd", passwd );
    即把数据放在ServletContext中在其它的servlet中用
    String uid = (String )sc.getAttribute("uid" );
    String passwd = (String )sc.getAttribute("passwd" );
    就取到了不知道这样作有什么坏处,请高手指点一下
      

  14.   

    request.getSession().getXXX();
    have a try!
      

  15.   

    书上说了,就是要“把数据放在ServletContext中”
    你真厉害,莫名其妙也能搞对
      

  16.   

    放在Context中?
    这对多个用户都可见的啊,如果有另一个人此时再运行不就有问题了?
      

  17.   

    用servlet从来没出现过这种问题.你的问题真奇怪啊.呵呵
      

  18.   

    放在Context中?
    这对多个用户都可见的啊,如果有另一个人此时再运行不就有问题了?
      

  19.   

    这是WEB-INF/web.xml的内容
    <web-app>
    <classpath id='WEB-INF/classes'
                     source='WEB-INF/src'
                     compile='true'/>
      <servlet servlet-name='schedule'>
        <servlet-class>schedule.bottom</servlet-class>
        <init-param name='sample'/>
      </servlet></web-app>
    看看是不是这里还需要什么配置吗?没错,放在Context中虽然能传递,但是对多个用户都可见了,不能用谢谢eureka0891()和  programdolt(我普普通通,我是个杀猪的)的提示