MVC を使用して、コントローラ サーブレットから JSP ページに応答を返すと、URI はサーブレットの URI のままです。コントローラ サーブレットから返された結果を表示する JSP の URI を表示したい。どんな助けでも大歓迎です。
質問する
194 次
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 フレームワークで一般的に機能する方法でもあります。
こちらもご覧ください
- サーブレットの wiki ページ- Hello World の例でも同じことができます
于 2012-09-08T10:01:51.203 に答える