質問: ### Jettyを使った簡単な社内向け検索エンジンを作るのにお勧めのツールは何がありますか 社内向けの簡単な検索エンジンを作っています。社内向けのですので、セキュリティなどの要件は今回は無視できるものとします。 私はWebデベロッパではないのでWeb系の知識がほとんどありません。Jettyを使っているのは、社内のHBaseにアクセスするのにJavaが向いているということで、それ以上の理由はありません。現在、バージョン1が稼働中で、当初の予想より好評で次々に機能追加の依頼が来ています。 JavaのSystem.out.println()でHTMLのコードをゴリゴリ出力していくのはメンテナンス性が悪く、改善したいと思っています。自分の書いたコードであるにも関わらず、このHTMLがどのように作られているのかわからなくなってきました。Javaはヒアドキュメントもないので、ソースコードにHTML片を埋め込んでいます。これを何とかする、ロジックとビューを切り分けることをしたいと思っています。 想像ですが、JettyからはJSONでデータを返し、それとは別に静的なHTMLを作っておき、該当箇所だけ受け取ったJSONを元に変更するような仕組みがあればよいと思います。そのために色々キーワードを探してみました。 * React * AngularJS * jQuery * サーバサイドレンダリング * テンプレートエンジン (Thymeleaf等) 私には最近のWeb開発の基礎知識がないので、これらがどういうものかきちんと理解していません。今回の用途の場合はこれを調べればよいという指針を教えていただければ幸いです。例えば、この用途にはReactは大げさすぎるので不要で、〜を使うのがお勧めであるといったことです。方向が決まれば、あとはその関連情報を調べてみます。 ### 検索システムの概要 画面には検索窓が1つ、あとはいくつかプルダウンメニューやボタンがあります。検索窓にクエリを入れて検索ボタンを押すと、GETリクエストが飛んで、Jetty側でHBaseにアクセスしてデータを取得します。このデータをJetty側で処理、加工をして、最終的にHTMLを出力します。表示されるのはいくつかの表です。それほど複雑な出力ではありませんが、機能追加の要望が増えてきているので徐々に面倒くさくなってきました。 既にJettyで動いている検索エンジンがあるので、全面的な作り直しをしないようにしたいと思います。現状のSystem.out.println("");などが山ほど書かれているコードのメンテナンス性を上げることが目的です。 いくつかはキーワードを頼りに探してみたのですが、npmを使って〜などと出てくると、もしかするとこれは必要以上に難しいことを調べているのではないかと不安になってきました。npmのこともよく知りませんが、これはNode.jsのパッケージマネージャだったと思います。しかし、Webサーバ部分はJettyで動いていますので、これはできるだけ変更しないようにしたいと思います。 よろしくお願いします。
回答: > > 現状のSystem.out.println("");などが山ほど書かれているコード > > > が現在でも生き残っていることに驚愕しますが、それはさておき、サーブレットから直接HTMLを出力するのをやめたいのであれば、JSPを使えば特別何もライブラリを追加することなく実現できるのではないでしょうか。