test1应用下的test1.jsp<%
session.setAttribute("sessiontest", "abcdefghijklmnopqrstuvwxyz");
%><%
out.println("session: " + session.getAttribute("sessiontest"));
%>
<a href="/test2/test2.jsp">change service</a>test2应用下的test2.jsp
<%
out.println("session: " + session.getAttribute("sessiontest") + "session end");
%>
我先进入http://localhost:7001/test1/test1.jsp
然后点这个页面的链接进入http://localhost:7001/test2/test2.jsp
打印出的session为null。

解决方案 »

  1.   

    test1应用下的test1.jsp<%
    session.setAttribute("sessiontest", "abcdefghijklmnopqrstuvwxyz");
    request.getRequestDispatcher("test2.jsp").forward(request,response);
    %><%
    out.println("session: " + session.getAttribute("sessiontest"));
    %>
    <a href="/test2/test2.jsp">change service</a>test2应用下的test2.jsp
    <%
    out.println("session: " + session.getAttribute("sessiontest") + "session end");
    %>
      

  2.   

    你可以用application的方法,如果你要这样,没必要用session的东西。
      

  3.   

    回复:vcvj(Mr.wu) 
    不行啊。
    报错。
      

  4.   

    test1应用下的test1.jsp<%
    session.setAttribute("sessiontest", "abcdefghijklmnopqrstuvwxyz");
    request.getRequestDispatcher("/test/test2.jsp").forward(request,response);
    %><%
    out.println("session: " + session.getAttribute("sessiontest"));
    %>
      

  5.   

    xiiiiix(小月飞) 
    能说的具体些么?
      

  6.   

    我试了没问题,一切ok,win2k+tomcat4.0.2 + ie5
    将这句
    <a href="/test2/test2.jsp">change service</a>
    改成
    <a href="<%=response.encodeURL("/test2/test2.jsp")%>">change service</a>
      

  7.   

    要跨应用,就得用application对象,它的作用范围是整个web server上的所有应用,比如:
    <%
    out.print("<p><b>Hello World! </b>");
    out.println("<b>test,refresh 2002-11-01 test managed server .....");String paraValue = "";
    paraValue = (String)application.getInitParameter("testparam");
    out.println("paraValue = " + paraValue );
    %>
      

  8.   

    bubblebird(小鳥)我使用win2000+weblogic6.1 sp1+ie6
    报404错误。
      

  9.   

    geyf(我在学java) 
    参数testparam,是在哪里设置的?
    我使用你的代码,显示的paraValue=null
      

  10.   

    zxhong(红透半边天) 
    cookie中只能放字符串吧?
    我要放对象的。
      

  11.   

    session只属于某一个server的serverContext下,你换了一个Context,这个context的session当然不会管理另一个context的session,这种情况你因该借助外部存储来辅助实现...
      

  12.   

    geyf(我在学java)
    好像你的理解有点问题吧.
    application只是单个应用的全局对象(这个说法很别扭....),服务器上所有的应用是同一个application?这太危险了......bubblebird(小鳥)的方法应该可行至于用外部存储,不是个好方法....
      

  13.   

    谢谢各位,最近very忙,才有空看各位回贴。
    问题已解决。
    采取变通方法解决了。
    跨应用主要是为了登录不同系统,在A应用中登录另个系统(B应用)时,把A应用中得到的用户信息再提交给B应用,等于在B应用中重新登录一次。
    再次感谢,放分。