Since release 1127, you can now do this instead:

$ cat src/mypkg/HelloServlet.clj
(ns myapp.HelloServlet
  (:gen-class
   :extends javax.servlet.http.HttpServlet)
  (:import (java.io PrintWriter)
           (java.util.logging Logger Level))
  (:require swank clojure.main))

(defn- -init [this config]
  (clojure.main/with-bindings
   (swank/ignore-protocol-version "2008-11-23")
   (swank/start-server "/dev/null" :port 4006 :encoding "iso-latin-1-
unix")))

(defn- -doGet [this request response]
  (.severe (Logger/getLogger "hello") "logging this thang")
  (.setContentType response "text/html")
  (let [out (PrintWriter. (.getWriter response))]
    (doto out
      (.println "<html>")
      (.println "<head>")
      (.println "<title>Hello World!</title>")
      (.println "</head>")
      (.println "<body>")
      (.println "<h1>Hello Bizarro World...from Clojure!</h1>")
      (.println (str "17 + 33 = " (+ 17 33)))
      (.println "</body>")
      (.println "</html>"))))

It doesn't handle the unloading/reloading of servlets well, so it
could be improved by:

1. Letting swank pick which port to listen on, and writing the port
number to a temporary file.
2. On unload, closing the swank socket and deleting the temporary
file.

I posted the whole project (build.xml, etc...) here: 
http://paste.lisp.org/display/71326

I'm also going to try installing a Compojure-built servlet into
Tomcat. I'll post that later if I can make that work.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To post to this group, send email to clojure@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/clojure?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to