はい、Java で書かれたさらに別の URL 短縮サービスです。現在、すべてが機能していますが、私が望んでいる方法ではありません。つまり、プロジェクト全体で「/」にマップされたサーブレットは 1 つだけです。関連するフレームワークや特別なものはありません。これは単なる基本的なサーブレット「プロジェクト」です。doPost で新しい shortUrl が作成され、JSON 応答が返されます。doGet では、URL が「/*{any_valid_short_url}」の場合、リダイレクトが送信されます (以下)。
response.sendRedirect("longUrlString")
私が抱えている問題はインデックス ページにあります。同じ doGet が呼び出されたときに、要求されたパスをチェックします。それが「/」の場合、現在、FileInputStream を使用し、response.getOutputStream( を介して index.html ページをストリーミングします。 )、これは私の意見ではかなりハックです。代わりに requestDispatcher を使用したいのですが、それを実装しようとすると (以下)、リダイレクト ループが発生し、サーブレット コンテナー (jetty または tomcat) スタック オーバーフローが発生します。
getServletContext().getRequestDispatcher("/index.html").forward(req, res);
これがどのように行われているかについて、私が誤解していることはありますか? プロジェクトは現在、私の github ページでホストされています。 https://github.com/justinmburrous/ShortUrl