2014-04-16 53 views
0

我有這樣一個網址:使用ssionId和URL參數,無需連接起來將

http://mydomain.com/aservlet/?id=auniqueId;jsessionid=ABCDEFGHIJK

現在我的servlet當我檢索與參數:

String id = request.getParameter("id"); 

id參數將auniqueId;jsessionid=ABCDEFGHIJK

我想要的是auniqueId

問題是,我不知道哪個參數將是最後的,所以我將不得不解析所有參數爲「;」首先簽署並在我可以使用它之前將其刪除。

這是真的有必要還是有更清晰的解決方案?

回答

0

我假設你已經完成了所有這些步驟,或者如果你使用了其他的impl和import *,請嘗試這個。

確定..你需要這樣的「http://mydomain.com/aservlet/jsessionid=ABCDEFGHIJK&&id=uniqueid

你需要有HttpServletRequest req在你的servlet行動參數。

Then 

try 
{ 
    HttpSession ssn = req.getSession(); //try to handle servle exceptions too 
    String ssnId = ssn.getId(); 
    System.out.println(ssnId); //check for null first on your real code 

} 
catch(Exception ex){ 
System.out.println("Exception "+ex.getMessage()); 
} 

OutPUt: ABCDEFGHKLL; //only the id part not the jsession string 
+0

問題不在於獲取sessionId。這是關於在這種情況下沒有與像「anuniqueId」這樣的URL參數混合的會話ID。 – Chris

+0

@Chris ...你讓我感到困惑,上面會回覆你剛纔的混合ID ='ABACDEFHJS'...我是你想要的嗎? – danielad

+0

對不起,這個問題有點令人困惑。我編輯它使其更加清晰。但我想我已經找到了解決方案。查詢參數必須在它們之前的路徑參數之後出現。 – Chris