JavaのPushBuilderクラスgetQueryStringメソッドを完全ガイド!初心者でもわかるクエリ文字列の取得方法
生徒
「先生、PushBuilderでクエリパラメータってどうやって確認するんですか?」
先生
「PushBuilderにはgetQueryStringというメソッドがあって、設定されているクエリ文字列を取り出すことができますよ。」
生徒
「たとえば、?lang=ja&user=testみたいな文字列を確認できるってことですか?」
先生
「その通りです。それでは詳しく使い方を見ていきましょう。」
1. getQueryStringメソッドとは?
javax.servlet.http.PushBuilderインターフェースのgetQueryString()メソッドは、PushBuilderに現在設定されているクエリ文字列(URLの"?"以降の部分)を取得するためのメソッドです。戻り値は文字列型(String)で、設定されていない場合はnullになります。
2. getQueryStringの基本的な使い方
PushBuilderにqueryString()でクエリパラメータを設定したあとにgetQueryString()を使うことで、設定された値を確認できます。
PushBuilder pushBuilder = request.newPushBuilder();
if (pushBuilder != null) {
pushBuilder.queryString("lang=ja&user=test");
String query = pushBuilder.getQueryString();
System.out.println("設定されたクエリ文字列: " + query);
}
3. 初期状態ではnullが返る
PushBuilder生成直後にgetQueryString()を呼び出した場合、まだクエリが設定されていなければnullが返されます。設定されているかどうかのチェックにも使えます。
4. クエリ文字列の用途
クエリ文字列は、ユーザーや言語、ページ情報などをURLパラメータとして渡すのに使われます。PushBuilderで設定しておけば、プッシュされたリソースが正しい状態でクライアントに届けられます。
5. push()と併用する例
クエリ文字列を指定した後にpush()を呼び出せば、そのパラメータ付きのリソースがクライアントに送信されます。
pushBuilder.path("api/data")
.queryString("type=json&id=123")
.push();
6. クエリ文字列をHTMLでも活用
PushBuilderによってプッシュされるリソースも、HTML内で明示的に参照しておくとブラウザでの扱いがスムーズです。次のようにhrefやsrc属性にクエリ付きURLを記述できます。
<script src="scripts/app.js?ver=2.0"></script>
<link rel="stylesheet" href="styles/theme.css?lang=ja">
7. 他のPushBuilderメソッドと組み合わせる
getQueryString()は、pathやmethod、setHeader、sessionIdなどの他のPushBuilderメソッドと一緒に使って、複雑なリクエスト設定を確認・管理できます。
pushBuilder.path("api/info")
.method("GET")
.queryString("page=1&size=10")
.setHeader("Accept", "application/json");
String query = pushBuilder.getQueryString();
System.out.println("現在のクエリ: " + query);