通过参数传递,如:String userID = "admin";
URL url = new URL("http://localhost/1.jsp?userID=" + userID);//在另一个页面里取出参数,然后判断是否为null
String userID = (String)session.getValue("userID");if (userID == null) 
{
    //在这里直接进入错误页面!!
}

解决方案 »

  1.   

    sessionid?你确信是sessionID,假如是的话,那么你的说法就是有问题的,sessionid不是属于“上一个页面”的,而是属于一个用户,而sesionid会自动采用cookie或是url rewrite传递
      

  2.   

    URL url = new URL("http://localhost/1.jsp;jsessionid=F84D36E3F66CF48D07E8525D0B074CD8");
      

  3.   

    不用楼上的,只要使用response.encodeURL()就可以自动将sessionID加上
      

  4.   

    如果你知道sessionid的话就
    String url="http://....."+";jsessionid="+sessionid;
    如果不知道的话就 
    String url=response.encodeURL("http://....");
      

  5.   

    这样也可以防止不同的服务器采用不同的名称传递sessionID的值,我记得这个名称在servlet规范是没有的,但是不同服务器的response实现自然知道自己服务器采用什么名字,所以建议使用encodeURL或是encodeRedirectURL看看你到底需要哪一个
      

  6.   

    但是encodeURL一般都是返回url本身,因为他会选择用cookies
    只有cookies被禁用了才会重写url.
      

  7.   

    session.putValue("userID", "admin");
    //也可以这么用
      

  8.   

    URL url = new URL("http://localhost/1.jsp;jsessionid=F84D36E3F66CF48D07E8525D0B074CD8");
    试了也不行。URL url = new URL(".......");
    String sessionid = url.openConnection().getHeaderField("Set-Cookie");得到一个 ASPSESSIONIDAAQRSBSA=COMBAKIBFHLCKKMFALGKECCL; path=/ 这样的字串。我是想InputStream in = url.openStream();后read()这个页面内容。所以不能用response.encodeURL()这样。如何把sessionid发送到这个页面呢?谢谢。
      

  9.   

    搞定,这样就可以了
    HttpURLConnection huc= (HttpURLConnection) url.openConnection();
    huc.setRequestProperty("Cookie", sessionid);