Saturday, 18 July 2015

Basics of J2EE

प्रश्न  :  J2EE क्या है ?
उत्तर  :  J2EE का मतलब है जावा एंटरप्राइज एडिशन ,
J2EE, विकासशील निर्माण और ऑनलाइन वेब आधारित उद्यम अनुप्रयोगों की तैनाती के लिए sun microsytem  से एक plateform independent  वातावरण है। J2EE plateform multitiered, वेब आधारित अनुप्रयोगों के विकास के लिए कार्यक्षमता प्रदान सेवाओं है कि, एपीआई, और प्रोटोकॉल का एक सेट के होते हैं

HTTP के क्या है?

HTTP के एक application level protocol है जिसका मतलब हाइपर टेक्स्ट ट्रांसफर प्रोटोकॉल 
(Hyper Text Transfer Protocol)   है
ग्राहक (Client)और सर्वर(Server) के बीच शाब्दिक डेटा (textual data) स्थानांतरित करने के लिए प्रोटोकॉल।

HTTP के Stateless प्रोटोकॉल है।

web client जैसे की ब्राउज़र सर्वर के लिए request भेजता है 
वेब ब्राउज़र के रूप में इस तरह के वेब क्लाइंट सर्वर के लिए request, सर्वर से प्रतिक्रिया करता है और त्रुटि कोड (जैसे एक HTML दस्तावेज़ के रूप में) का अनुरोध डेटा भेजता है या रिटर्न और कनेक्शन बंद कर देता है भेजता है। प्रतिक्रिया वापस आ रहा है एक बार, सर्वर ग्राहक के बारे में कुछ भी याद नहीं है। (यहां तक ​​कि अगले ही अनुरोध)
ओह हो ये हिंदी 
भाई बहुत कठिन है ये सब टेक्निकल टर्म हिंदी में लिखूंगा तो बहुत मुश्किल हो जाएगी आपको समझने में इसलिए अब में  हिंदी और इंग्लिश दोनों का इस्तेमाल करने वाला हु। 
अब आगे। … 

Web Client such as web browser sends the request to server, server responds and sends the requested data (such as a HTML document) or returns error code and closes the connection. Once the response is returned, server doesn’t remember anything about the client.(even the very next request)


HTTP request methods and Headers
Whenever the client sends the request to server for any resource such as a HTML document, it specifies 

1. HTTP method
2. Request URI
3. Protocol version 
4. Optional Header information.

After the client sends the request, server processes the request and sends the response

क्या कुआ होता है HTTP Response में 

1. Response status information
2. Response headers 
3. Response data.

Following is an example of HTTP request which uses GET request method to ask
 for a HTML document named tutorial.html using HTTP protocol version 1.1

GET /tutorial.html HTTP/1.1 

Following is the example of request header, 
which provides additional information about the request.

User-Agent: Mozilla/4.0 (compatible; MSIE 4.0; Windows 95)
Accept: image/gif, image/jpeg, text/*, */*

Above header specifies the information about 
the client software and what MIME(Multi-purpose Internet Mail Extension) 
type the client accepts in response, using User-Agent and Accept headers.

HTTP request methods
Http request methods

The request method indicates to the server what action to 
perform on the resource identified by the request-URI.

HTTP 1.1 specifies these request methods:
 GET, POST , HEAD,OPTIONS, PUT, TRACE, DELETE, CONNECT. 
Servlets can process any of the above requests.

But GET and POST methods are most commonly used.

The GET request method

The GET request is used typically for getting static information from the server such as HTML document, images, and CSS files. 
It can be used to retrieve dynamic information also by appending query string at the end of request URI.

Query String

Query string is used to pass additional request parameters along with the request. 

Query string format

URL?name1=value1&name2=value&name3=value3 ….


eg -- http://www.abc.com/login.jsp?userid=abc

The POST request method

The POST request method is typically used to access dynamic resources. 

POST request is used to 
1. send the large amount of data to the server. 
2. upload files to servers 
3. send serializable Java objects or raw bytes. 

GET Vs POST

1.
GET request sends the request parameters as query string appended 
at the end of the request URL, 
whereas POST request sends the request parameters as part of the HTTP request body. 

2.Unlike GET, POST request sends all the data as part of the HTTP request body,
so it doesn’t appear in browser address bar and cannot be bookmarked. 

3. GET -- non-secure, POST -secure
GET -- idempotent
POST---non-idempotent

Typically use GET -- to retrieve stuff from server.
use POST -- for changing some state on server(something like update)


4. Some web servers limit the length of the URL.
So if in GET request --  too many parameters are appended in query string and URL exceeds this length, some web servers might not accept the request. 
For POST -- no such limitations.