在服务方法中更改doGet()和doPost()方法?

时间:2011-12-19 08:13:11

标签: java-ee java-ee-6

有人可以告诉我如何在服务方法中更改doGet()doPost()方法吗?

3 个答案:

答案 0 :(得分:3)

如果客户端浏览器发送GET请求,它将按doGet()方法处理。 如果客户端浏览器发送POST请求,它将按doPost()方法处理。

那是你想知道的吗? :o

<强>更新

service(HttpServletRequest req, HttpServletResponse resp)方法旁边,服务器使用HttpServletRequest.html#getMethod()获取请求方法。然后将该值与可用的HTTP方法类型进行比较,并调用相关的 doGet doPost 或其他匹配方法。

参见http://www.docjar.com/html/api/javax/servlet/http/HttpServlet.java.html

中的服务(HttpServletRequest req,HttpServletResponse resp)方法实现

除了如何将请求参数发送到服务器以及使用 GET POST 方法的用法之外,AFAIK没有其他更改。

答案 1 :(得分:1)

因为,在HttpServlet类中实现了服务方法并且所有用户定义的servlet类都必须扩展Httpservlet类。它是一个库类。实现了类2服务方法的实现.one是public void服务方法,它基本上是Servlet接口方法。 另一个是带有2个参数-HttpServletRequest和HttpServletResponse的重载protected void服务方法。 公共服务方法调用受保护的服务方法和有保护的服务方法,它有一些逻辑。它检查哪种类型的客户端请求来了。如果它是GET类型那么它将调用doGet()方法,如果它是POST类型,它调用doPost()方法。 这两个方法也在protected service()方法中实现,但我们在用户定义的servlet类中覆盖这些方法来执行我们的任务。

答案 2 :(得分:0)

您可以使用HttpServletRequest#getMethod()(已提出此请求)验证请求方法类型。