如何使用HttpRequestHandler单独获取和POST请求

时间:2013-07-25 13:50:23

标签: java spring servlets

我正在使用HttpRequestHandler将Spring bean注入Servlets:

@Component("myServlet")
public class MyServlet implements HttpRequestHandler {

    @Autowired
    private MyService myService;

HttpServlet为不同的请求方法提供了单独的方法doGet,doPost等。 但是HttpRequestHandler只有一个:

    public void handleRequest (HttpServletRequest req, HttpServletResponse resp)

那么如何分别处理此方法中的GET和POST请求?我需要为不同的请求方法使用不同的逻辑。

更新 另外我有一个问题:是否有可能限制handleRequest方法通过配置仅支持POST请求,并自动发送HTTP错误405以用于其他请求?

2 个答案:

答案 0 :(得分:4)

HttpServletRequest provides the method getMethod()

  

返回发出此请求的HTTP方法的名称,例如GET,POST或PUT。与CGI变量REQUEST_METHOD的值相同。

答案 1 :(得分:3)

public void handleRequest (HttpServletRequest req, HttpServletResponse resp)
{       
   if(req.getMethod().equalsIgnoreCase("GET")){
     //GET BODY
   }
   else if(req.getMethod().equalsIgnoreCase("POST")){
     //POST BODY
   }    
}