KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > icesoft > faces > webapp > http > core > PageServer


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 JavaDoc {
19             FacesContext facesContext = FacesContext.getCurrentInstance();
20             response.setHeader("Cache-Control", new String JavaDoc[]{"no-cache", "no-store", "must-revalidate"});//HTTP 1.1
21
response.setHeader("Pragma", "no-cache");//HTTP 1.0
22
response.setHeader("Expires", 0);//prevents proxy caching
23
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 JavaDoc {
31         request.respondWith(responseHandler);
32     }
33
34     public void shutdown() {
35     }
36 }
37
Popular Tags