JavaでWebサーバー /サーブレットコンテナの作成 - 巨人の肩に立っている
質問
何よりもまず:これは主に個人的な演習であると述べたいと思います。市場のニーズを満たすコンテナやサーバー(Tomcat、Jetty、Winstone)がたくさんあります。
先日、私が出会った アッカ Projectと、過去にErlangでとても楽しかったので、機能的なWebサーバーを構築するためにそれを使用するのは本当にクールだと判断しました。
それから私は空想を始めました。最新のフレームワークを使用して、コードゴルフの方法で、ほぼ完全に「巨人の肩に立っていた」Webサーバーを構築できるとしたらどうでしょうか?つまり、 他の人の仕事のどれだけを使うことができました。
理想的には、要件は次のようなものに似ています。
- フォールトトレラント、クラスタブル、分布
- 簡単に構成できます
- 構成可能なポートでHTTP、HTTPS、およびAJPをサポートします
- インターフェイスバインディングと複数のドメインをサポートします
- プラグ可能なインターフェイスを介してJSP、Jythonなどをサポートします
- WebDAV、プロキシ、URLの書き換えなどのものの実装を可能にするモジュールをサポートします
この時点での私の最大のつまずきです 一体どうやってジャスパー、桟橋、ガラスフィッシュなどを使用していますか ネットワーキングのような他のすべてのものについて心配することなくJSPを解釈することは、彼らがもたらすものですか?
機能に関する他の提案は非常に素晴らしいでしょう。また、非伝統的な構成方法を調査して、XMLまたはプロパティファイルよりも好きなものがあるかどうかを確認しています。 Apacheに精通している人のために、少しスクリプトが必要な場合があり、キー/バリューのペアが必要な場合もあります。
だから、いずれにせよ、あなたの提案で私を襲ってください。
解決
少なくともTomcatは、JSPエンジンをモジュールとして実装しています。個別にリリースされていません そうかもしれない Tomcatコードの残りの部分から完全に組み合わせるために、いくつかの作業が必要です。
それは別の名前(ジャスパー)を持っています 独自のハウツー. 。で見つかります org.apache.jasper
パッケージ(および以下)。