最近项目上需要用到jetty,我在服务启动时用addServlet增加了几个servlet,另外还用WebAppContext添加了web目录运行jsp.现在发现只有jsp与jsp之间可以互相传递session,jsp和servlet之间session不能互相传递.甚至连servlet之间也不能互相传session.但是jsp和servlet用request.getSession(true).getId()获得sessionid都是一样的. 我分析了一下,每个contents好像都有自己的session.但又不知道怎么改,才能让jsp和servlet之间互传session,高手看看,下面是启动服务的代码: 另外,我只是引用了jetty的jar,没用使用任何jetty配置方面xml. 
package test;import org.mortbay.jetty.Connector;
import org.mortbay.jetty.Handler;
import org.mortbay.jetty.Server;
import org.mortbay.jetty.handler.ContextHandlerCollection;
import org.mortbay.jetty.handler.HandlerCollection;
import org.mortbay.jetty.nio.SelectChannelConnector;
import org.mortbay.jetty.servlet.Context;
import org.mortbay.jetty.servlet.ServletHolder;
import org.mortbay.jetty.webapp.WebAppContext;public class test {    public static void main(String[] args)
    throws Exception
{
    Server server = new Server();
    
    Connector connector=new SelectChannelConnector();
    connector.setPort(Integer.getInteger("jetty.port",8080).intValue());
    connector.setHost("127.0.0.1");
    server.setConnectors(new Connector[]{connector});
    
    ContextHandlerCollection contexts = new ContextHandlerCollection();
    server.setHandler(contexts);
    
    Context root = new Context(contexts,"/co",Context.SESSIONS);
    root.addServlet(new ServletHolder(new hello_one("Ciao")), "/*");
        Context yetanother =new Context(contexts,"/yo",Context.SESSIONS);
    yetanother.addServlet(new ServletHolder(new hello_two("YO!")), "/*");
    
    WebAppContext webapp = new WebAppContext(contexts,"webapp","/");    
    HandlerCollection handlers = new HandlerCollection();
    handlers.setHandlers(new Handler[]{root,yetanother,webapp});
    server.setHandler(handlers);
    
    server.start();
    server.join();
}

}