0

MVC を使用して、コントローラ サーブレットから JSP ページに応答を返すと、URI はサーブレットの URI のままです。コントローラ サーブレットから返された結果を表示する JSP の URI を表示したい。どんな助けでも大歓迎です。

4

1 に答える 1

3

それはうまくできません。

それを逆に解決する方が簡単です。JSP の URI をコントローラーの URI にします。最初に JSP ファイルを/WEB-INFフォルダーに隠して、エンドユーザーがコントローラーを呼び出さずに直接開くことができないようにします。doGet()次に、コントローラ サーブレットのメソッドを次のように実装します。

@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    request.getRequestDispatcher("/WEB-INF/page.jsp").forward(request, response);
}

ここで、JSP の URI ではなくコントローラ サーブレットの URI を開くと、JSP が表示されます。JSP のフォームをコントローラー サーブレットに送信する場合 (したがって、それdoPost()が呼び出されます。そこにある JSP パスを変更して を含めることを忘れないでください/WEB-INF)、URI は基本的に変更されません。これが最終的に必要なものです。 ..

これは、既存のサーブレット ベースの MVC フレームワークで一般的に機能する方法でもあります。

こちらもご覧ください

于 2012-09-08T10:01:51.203 に答える