1 package com.icesoft.faces.webapp.http.core; 2 3 import com.icesoft.faces.webapp.http.common.Request; 4 import com.icesoft.faces.webapp.http.common.Response; 5 import com.icesoft.faces.webapp.http.common.ResponseHandler; 6 import com.icesoft.faces.webapp.http.common.Server; 7 8 import javax.faces.FactoryFinder; 9 import javax.faces.context.FacesContext; 10 import javax.faces.lifecycle.Lifecycle; 11 import javax.faces.lifecycle.LifecycleFactory; 12 13 public class PageServer implements Server { 14 private final static LifecycleFactory LIFECYCLE_FACTORY = (LifecycleFactory) FactoryFinder.getFactory(FactoryFinder.LIFECYCLE_FACTORY); 15 private Lifecycle lifecycle = LIFECYCLE_FACTORY.getLifecycle(LIFECYCLE_FACTORY.DEFAULT_LIFECYCLE); 16 17 private ResponseHandler responseHandler = new ResponseHandler() { 18 public void respond(Response response) throws Exception { 19 FacesContext facesContext = FacesContext.getCurrentInstance(); 20 response.setHeader("Cache-Control", new String []{"no-cache", "no-store", "must-revalidate"}); response.setHeader("Pragma", "no-cache"); response.setHeader("Expires", 0); response.setHeader("Content-Type", "text/html"); 24 com.icesoft.util.SeamUtilities.removeSeamDebugPhaseListener(lifecycle); 25 lifecycle.execute(facesContext); 26 lifecycle.render(facesContext); 27 } 28 }; 29 30 public void service(Request request) throws Exception { 31 request.respondWith(responseHandler); 32 } 33 34 public void shutdown() { 35 } 36 } 37 | Popular Tags |