Jettyでサーバ起動

とりあえず、動くところまではいきました。

import java.io.PrintWriter

import javax.servlet.http.HttpServlet
import javax.servlet.http.HttpServletRequest
import javax.servlet.http.HttpServletResponse

import org.mortbay.jetty.Connector
import org.mortbay.jetty.Server
import org.mortbay.jetty.nio.SelectChannelConnector
import org.mortbay.jetty.servlet.ServletHandler

/**
 * サーバーとして起動可能なサーブレット。
 * Javaアプリケーションとして起動するとサーバとして動作するServlet
 */
object httpd extends Application {
  class ServletServer extends HttpServlet {
    override protected def doGet(request:HttpServletRequest, response:HttpServletResponse) {
      val out:PrintWriter = response.getWriter
      response.setContentType("text/html")
      out.println("Hello Scala World!!")
    }
  }

  val server:Server = new Server
  val connector:Connector = new SelectChannelConnector
  connector.setPort(8080)
  server.addConnector(connector)
  
  val handler:ServletHandler = new ServletHandler
  val srvlet:ServletServer = new ServletServer
  handler.addServletWithMapping(srvlet.getClass, "/")
  
  server.addHandler(handler)
  
  server.start
  server.join
}

参考:http://civic.xrea.jp/dev/jetty/servletonly/

でも、

val srvlet:ServletServer = new ServletServer
handler.addServletWithMapping(srvlet.getClass, "/")

の部分がいかにも気持ち悪い・・・
なんとかならんもんだろか・・・