java.net.URL について質問があります(jdk1.5.0_15)。
このクラスのコンストラクタ URL(URL context, String spec) では相対パスを解決してくれるので
とても重宝しているのですが、specがGETパラメータのみの場合に期待した動作をしてくれません。

例えば、ページ
http://example.com/index.jsp
内に
<A HREF="?p=1">
とある場合、ブラウザでは(IE,FFで確認)
http://example.com/index.jsp?p=1
へのリンクを表すのですが、

[コード]
System.out.println(new URL(new URL("http://example.com/index.jsp"), "?p=1"));

で試してみたところ

[結果]
http://example.com/?p=1

となりました。これは、java.net.URLの不具合なのでしょうか。
あるいはこれが正しい動作で、ブラウザの方が標準規格に反しているのでしょうか。