回答編集履歴
1
説明を詳細化した。
answer
CHANGED
@@ -1,5 +1,17 @@
|
|
1
|
+
まず、FacesContextはJSF固有のものですので、JAX-RSと直接関係ありません。
|
2
|
+
そのため、JAX-RSのメソッド内では事前の初期化がされず、
|
3
|
+
nullになってしまっていたのだと思います。
|
4
|
+
「同じ言語、同じ環境(JavaEE・glassfish)」ではあっても、
|
5
|
+
JSFとJAX-RSでは動作は異なる、ということですね。
|
6
|
+
|
7
|
+
それから、フィールドとして@Contextした場合には、
|
8
|
+
おそらくこのクラスのインスタンス生成が、
|
9
|
+
リクエストのタイミングではなく、もっと前だったのではないかと思います。
|
10
|
+
リクエストされていない時にHttpServletRequestを設定しようとしても、
|
11
|
+
存在しないのでnullになっていたのだと思います。
|
12
|
+
|
1
13
|
以下の様に、メソッド引数に追加したらどうでしょうか?
|
2
14
|
|
3
15
|
```lang-java
|
4
|
-
|
16
|
+
public String login(@PathParam("username") String username, @PathParam("password") String password, @Context HttpServletRequest request)
|
5
17
|
```
|