X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Fjava%2Forg%2Fibex%2Fxt%2FServlet.java;fp=src%2Fjava%2Forg%2Fibex%2Fxt%2FServlet.java;h=c05101acc8888eb5b52d8a42f188f2cdabac39fb;hb=59e1d7b4bf7843e12351004b64d6667abefd04c7;hp=53eb197f0dd6aa97e9e86ca430ed50e8cd77bd80;hpb=aa4748b4f5c375bedcfac257b684a59906c6f03a;p=org.ibex.xt-crawshaw.git diff --git a/src/java/org/ibex/xt/Servlet.java b/src/java/org/ibex/xt/Servlet.java index 53eb197..c05101a 100644 --- a/src/java/org/ibex/xt/Servlet.java +++ b/src/java/org/ibex/xt/Servlet.java @@ -5,7 +5,6 @@ import java.util.*; import javax.servlet.*; import javax.servlet.http.*; -import org.ibex.util.*; import org.ibex.util.Collections; import org.ibex.js.*; @@ -36,24 +35,33 @@ public class Servlet extends HttpServlet { public void doGet(HttpServletRequest rq, HttpServletResponse rs) throws IOException { String src = rq.getServletPath(); Servlet.Scope scope = new Servlet.Scope(cx, rq, rs, prevayler); + PrintWriter w = new PrintWriter(rs.getWriter()); try { while (src != null) { try { - StringWriter w = new StringWriter(); + StringWriter buffer = new StringWriter(); Template t = Template.parse(cx.getRealPath(src), scope); - Template.wrap(t, scope).out(w); - rs.getWriter().write(w.toString()); + Template.wrap(t, scope).out(buffer); + w.write(buffer.toString()); src = null; } catch (Template.RedirectSignal r) { src = r.getTarget(); } } } catch (Template.Signal s) { + // exit silently } catch (JSElement.Exn e) { - PrintWriter w = new PrintWriter(rs.getWriter()); w.print("\n"+src+": "); w.println(e.getMessage()); System.out.println(e); + } catch (FileNotFoundException e) { + w.print("\nfile not found: "); + w.println(e.getMessage()); + System.out.println(e); + } catch (IOException e) { + w.print("\nio error: "); + w.println(e.getMessage()); + e.printStackTrace(); } catch (Exception e) { System.out.println("Unexpected Exception:"); e.printStackTrace();