我同時學習AJAX和Java Servlet API(以及Spring MVC,它基於,基於),並且相信我理解了大部分基礎知識,除非在瞭解HttpServletResponse
當服務器/ Servlet響應HTTP GET/POST
(與正常頁面請求相對應)而不是基於AJAX的XmlHttpRequest
時,結構化/組織/填充的方式不同。AJAX與Java:HttpServletResponse如何受影響?
在我看來,在沒有AJAX的情況下,每個HttpServletResponse都只包含頁面的完整HTML(加上header/metadat/etc。info)。通過AJAX,異步XmlHttpRequests
可用於更新特定頁面內特定的組件。因此,如果我理解HTTP和Servlet正確,爲http://www.example.com/some-page.html
請求可能導致包含了以下機身的HttpServletResponse的:
<html>
<header><title>Title of the page</title></header>
<body>
<!-- Some massive amount of HTML -->
<a href="./foo.html">This is a link</a>
<!-- Lots more HTML -->
</body>
</html>
然而,隨着AJAX請求,不知何故HttpServletRequest的可能發回的信息,使得鏈路(從上面的例子)現在呈現到這一點:
<a href="./bar.html">This is a new link that point to bar</a>
我的問題是:怎樣的Java Servlet的結構HttpServletRequests同時處理整頁的請求以及可能只會產生改變頁面的部分AJAX請求?
作爲一個類似但又相互獨立的問題,客戶端(瀏覽器)知道如何使用HTTP Responses
(由Servlet發回),並渲染整個新頁面或只更新頁面的一小部分。
在此事先感謝您的任何澄清。
相關:http://stackoverflow.com/questions/4112686/how-to-use-servlets-and-ajax – BalusC