0

doGetオーバーライドされたサーブレットがあります。関連する部分は次のとおりです。

// called from doGet(req,res)
private void serviceInternal(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    log.info("servicing a request");

    // magically compute jsp path from request params (includes the
    // logging of the app/mod/act as mentioned below

   log.info(jspPath);
   request.getRequestDispatcher(jspPath).forward(request, response);
}

現在、サービス メソッドに入る URL をログに記録しています。URL がserver:8080/context/app/mod/act?param=1ログ メッセージである場合はapp='app' mod='mod' act='act'、これがうまく機能していることを確認しました。

jsp にルーティングする必要があるものをヒットしようとすると、何らかのばかげた理由で doGet メソッドに戻されます。私のログは次のようになります。

INFO  2015-04-12 21:35:07,511 servicing a request
INFO  2015-04-12 21:35:07,519 app='' mod='' act='' uid='null' 
INFO  2015-04-12 21:35:07,571 /WEB-INF/index.jsp
INFO  2015-04-12 21:35:07,571 servicing a request
INFO  2015-04-12 21:35:07,571 app='WEB-INF' mod='index.jsp' act='' uid='null' 

しかし、私は自分の JSP を my 経由で送信したくありませんdoGet- JSP に送信したいのです! なぜこれを行うのでしょうか?

私のサーブレットは をキャッチ"/*"しています。しかし、それがjspsをキャッチするとは思っていませんでした。

ここで何が間違っていますか?

4

1 に答える 1

0

私のサーブレットは「/*」をキャッチしています。しかし、それがjspsをキャッチするとは思っていませんでした。

あなたは自分で問題を見つけただけです。それが理由です。

于 2015-04-13T03:52:48.613 に答える