What's the difference between doGet()/doPost() and processRequest()?

来源:互联网 发布:掌趣科技 涵凌网络 编辑:程序博客网 时间:2024/04/30 02:02

It's just a matter of moving common code to one place

*Note: doPost() and doGet() are part of the Servlet interface, and processRequest() is just a frequently used name for a helper method and is not part of any interface

Should you use processRequest()?

It depends how your Servlet is supposed to behave and how your servlet is invoked, if you want to have different behavior on POST requests than on GET requests, then implement them separately. If your servlet should have the same behavior whether a GET or POST is invoked on it, then route them to the same processRequest() method.

In most cases (probably 90% of the time) yes, you can route doGet() and doPost() to a single processRequest() method.

An example of where you would NOT want to route both to a processRequest() method is if you want to upload a file for POST requests and view some data for a GET request.

Is processRequest() considered good practice?

If GET and POST are doing the same thing, then yes absolutely. In fact, Arun Gupta (one of the main spec leads for Java EE) uses this pattern in his samples.


0 0