jQuery를 POST를 통해 서블릿 매개 변수를 전달 할 수 없습니다내가 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 { }
}
그리고 그것은했다! 필터에서 매개 변수를 가져올 수있을뿐만 아니라 서블릿에서도 액세스 할 수있었습니다. 그래서, 어떤 사람이 저에게 어떤 종류의 마법을 설명 할 수 있습니까?
'방화 광'으로 무엇을 볼 수 있습니까? – gdoron
실제로 POST 요청을 보내고 있습니다. 동시에 Eclipse에서 중단 점을 설정하고 매개 변수없이이 요청을 실제로 잡았습니다 ... Chrome 개발자 도구를 사용하여 요청이 실제로 필요한 모든 매개 변수와 함께 게시되었음을 보여줍니다. – jFrenetic