jQueryを使用してPOSTリクエストを送信しています:
$.post(
'test',
{ foo: 'bar'}
);
そして、それを処理するための単純なサーブレットがあります。
@WebServlet("/test")
public class TestServlet extends HttpServlet {
  @Override
  protected void doPost(HttpServletRequest req, HttpServletResponse resp)
          throws ServletException, IOException {
      Map<String, String[]> parameterMap = req.getParameterMap();
  }
}
しかし、サーブレットの requestMap は空であることが判明しました。私は何を間違っていますか?
編集:JSF Faceletページからこのスクリプトを呼び出すことを忘れていました。なぜわざわざ Ajax リクエストを手動で発行するのか、なぜサーブレットを使用してそれらを処理するのか、私に聞かないでください。長い話です。私はそれがJSF的な方法ではないことを知っています。
@BalusC の回答の後、次のようなサーブレット フィルターを追加してみました。
@WebFilter(urlPatterns="/test")
public class TestFilter implements Filter {
    @Override
    public void destroy() { }
    @Override
    public void doFilter(ServletRequest request, ServletResponse response,
            FilterChain chain) throws IOException, ServletException {
        Map<String, String[]> parameterMap = request.getParameterMap();
        chain.doFilter(request, response);
    }
    @Override
    public void init(FilterConfig filterConfig) throws ServletException { }
}
そしてそれは働いた!フィルターでパラメーターを取得できただけでなく、サーブレットからもアクセスできました。では、誰かこれがどんな魔法なのか説明してくれませんか?