PhaseListener が2回呼ばれる件
JSFでリスナーが2回呼ばれる
・プロジェクト追加するときに作成されるweb.xmlで、「com.sun.faces.config.ConfigureListener(faces-config.xmlを使いますよというリスナ)」が定義されるのですが、これを削除すると解消しました。
検証
・PhaseListener
     @Override
     public void afterPhase(PhaseEvent arg0) { 
          System.out.println("afterPhaseが呼ばれた:" + getPhaseId().toString()); 
     }
     @Override
     public void beforePhase(PhaseEvent phaseEvent) {
          System.out.println("beforePhaseが呼ばれた:" + getPhaseId().toString()); 
     }
     @Override
     public PhaseId getPhaseId() {
          return PhaseId.RENDER_RESPONSE;
     }
・2回呼ばれているときのSTDOUT
     beforePhaseが呼ばれた:RENDER_RESPONSE 6
     beforePhaseが呼ばれた:RENDER_RESPONSE 6
     [2016/08/15 15:24:10.381] Creating instance of bean 'login'
     ・・・
     [2016/08/15 15:24:10.381] Finished creating instance of bean 'login'
     afterPhaseが呼ばれた:RENDER_RESPONSE 6
     afterPhaseが呼ばれた:RENDER_RESPONSE 6
・正しく呼ばれるときのSTDOUT
     beforePhaseが呼ばれた:RENDER_RESPONSE 6
     [2016/08/15 15:29:52.390] Creating instance of bean 'login'
     ・・・
     [2016/08/15 15:29:52.390] Finished creating instance of bean 'login'
     afterPhaseが呼ばれた:RENDER_RESPONSE 6