Now let’s push the envelope yet a little farther (perhaps off the edge of the table) with a servlet that tailors its output to match the language preferences of the client. This allows the same URL to serve its content to readers across the globe in their native tongues.
There are two ways a servlet can know the language preferences of the client. First, the browser can send the information as part of its request. Newer browsers, such as Netscape Navigator 4 and Microsoft Internet Explorer 4, allow users to specify their preferred languages. With Netscape Navigator 4, this is done under Edit | Preferences | Navigator | Languages. With Microsoft Internet Explorer 4, it’s done under View | Internet Options | General | Languages.
A browser sends the user’s language preferences to the server
HTTP header. The value of this header specifies the language or
languages that the client prefers to receive. Note that the HTTP
specification allows this preference to be ignored. An
Accept-Language header value looks something like
en, es, de, ja, zh-TW
This indicates the client user reads English, Spanish, German, Japanese, and Chinese appropriate for Taiwan. By convention, languages are listed in order of preference. Each language may also include a q-value that indicates, on a scale from 0.0 to 1.0, an estimate of the user’s preference for that language. The default q-value is 1.0 (maximum preference). ...