編集:実際のサンプルについては、このデモ プロジェクトをご覧ください。
免責事項:私は、Java Web アプリケーションを構築するのはまったくの初心者です。
Clojure でJWTを使用しようとしていますが、この「サーブレット」の処理方法がわかりません。これまでのところ、私の考えは次のとおりでした。
WApplication
「Hello World」フォームで を作成します。(defn make-hello-app [env] (let [wapp (WApplication. env) root (.getRoot wapp)] (.setTitle wapp "Hello world") (.addWidget root (WText. "Hello!!!!")) wapp))
から継承されたサーブレットを作成します
WtServlet
。(def servlet (proxy [WtServlet] [] (createApplication [env] (make-hello-app env))))
jetty を起動し、サーブレットを使用します。これは私がどうしたらいいかわからないものです。これまでのところ、これが私のベストショットでした:
(ns jwttest.core (:use compojure.core) (:use ring.adapter.jetty) (:import (org.eclipse.jetty.server Server)) (:import (eu.webtoolkit.jwt WApplication WEnvironment WtServlet WText WPushButton WLineEdit WBreak))) ;; (the funcions above were defined here) ;; create a jetty server (defn create-a-jetty-server [] (let [connector (doto (SelectChannelConnector.) (.setPort 8080) (.setHost "localhost")) server (doto (Server.) (.addConnector connector) (.setSendDateHeader true))] server)) ;; start the application (defn start-the-app [] (let [server (create-a-jetty-server)] ;; ???? .addServlet ? How? (.start server)))
私project.clj
は持っています:
[org.clojure/clojure "1.4.0"]
[eu.webtoolkit/jwt "3.2.0"]
[compojure "1.1.1"]
[ring "1.1.2"]
ring がハンドラーからサーブレットを作成できることは知っていますが、この場合、既にサーブレットを持っているので、これを実行するにはどうすればよいですか?
注: 2009 年に作成されたこの非常に古い投稿に基づいてコードを作成しています。