回答編集履歴

1

説明を詳細化した。

2015/08/07 01:49

投稿

eripong
eripong

スコア1546

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