【问题标题】:Servlet to Spring Servlet: Is it possible to implement GET method using Spring's HttpRequestHandler?Servlet 到 Spring Servlet:是否可以使用 Spring 的 HttpRequestHandler 实现 GET 方法?
【发布时间】:2013-04-01 02:09:58
【问题描述】:

我正在将常规 Servlet 更新为 Spring 类型的 Servlet。为了实现这一点,我关注了these instructions,说我应该实现HttpRequestHandler。这很好,适用于我的 Servlet,因为现在我只使用 POST 方法调用它。

但是现在我很好奇如果我也想实现 GET 方法会发生什么。在一个常规的 Servlet 中,我有:

public class MyServlet extends HttpServlet {

protected void processRequest(HttpServletRequest request, HttpServletResponse response) 
...
protected void doGet(HttpServletRequest request, HttpServletResponse response)
...
protected void doPost(HttpServletRequest request, HttpServletResponse response)
...

}

但是在实现 HttpRequestHandler 时我有:

public class MyServlet implements HttpRequestHandler {
...
   public void handleRequest(HttpServletRequest request, HttpServletResponse response)
...
}

阅读official documentation它说它默认只支持POST,但找不到实现GET的方法。其他答案here 让我想到了使用可以接收 GET 请求然后调用HttpRequestHandler 的控制器,但这对我来说似乎不是很整洁。

谁能告诉我这是否可行,我该怎么做?如果可能,请参考一些文档:)

【问题讨论】:

  • 文档说请求处理程序通常只处理 POST 请求,而不是它不支持 GET 请求:当你尝试它时发生了什么?

标签: java spring jakarta-ee servlets


【解决方案1】:

这只是一个猜测,但您不能仅使用请求参数来确定方法并在 handleRequest 方法中进一步采取相应措施吗?

【讨论】:

  • 我没试过...听起来不错。我会尝试并告诉你。
  • 提及 HttpServletRequest.getMethod() 函数或显示使用它的代码,以使您的答案显式
猜你喜欢
  • 2014-10-26
  • 1970-01-01
  • 2011-01-31
  • 1970-01-01
  • 1970-01-01
  • 2013-09-15
  • 1970-01-01
  • 1970-01-01
  • 2018-07-17
相关资源
最近更新 更多