Fwd: [FreshersDestination] DIfference Between doGet() and doPost

1 view
Skip to first unread message

Nagarjuna G

unread,
May 1, 2012, 10:40:33 PM5/1/12
to freshersd...@googlegroups.com

What is the difference between doGet() and doPost()?
#
doGet()
doPost()
1
In doGet() the parameters are appended to the URL and sent along with header information.
In doPost(), on the other hand will (typically) send the information through a socket back to the webserver and it won't show up in the URL bar.
2
The amount of information you can send back using a GET is restricted as URLs can only be 1024 characters.
You can send much more information to the server this way - and it's not restricted to textual data either. It is possible to send files and even binary data such as serialized Java objects!
3
doGet() is a request for information; it does not (or should not) change anything on the server. (doGet() should be idempotent)
doPost() provides information (such as placing an order for merchandise) that the server is expected to remember
4
Parameters are not encrypted
Parameters are encrypted
5
doGet() is faster if we set the response content length since the same connection is used. Thus increasing the performance
doPost() is generally used to update or post some information to the server.doPost is slower compared to doGet since doPost does not write the content length
6
doGet() should be idempotent. i.e. doget should be able to be repeated safely many times
This method does not need to be idempotent. Operations requested through POST can have side effects for which the user can be held accountable.
7
doGet() should be safe without any side effects for which user is held responsible
This method does not need to be either safe
8
It allows bookmarks.
It disallows bookmarks.

When to use doGet() and when doPost()?
Always prefer to use GET (As because GET is faster than POST), except mentioned in the following reason:
*       If data is sensitive
*       Data is greater than 1024 characters
*       If your application don't need bookmarks.

.How do I support both GET and POST from the same Servlet?
The easy way is, just support POST, then have your doGet method call your doPost method:

 public void doGet(HttpServletRequest request, HttpServletResponse response)
                      
 throws ServletException, IOException
{
    doPost(
request, response); 
}


--
Posted By Nagarjuna to FreshersDestination on 5/02/2012 07:53:00 AM
www.freshersdestination.com






Reply all
Reply to author
Forward
0 new messages