From: http://hi.baidu.com/9%D2%BB%CB%EA%B4%F2%CB%C0%D0%DC9/blog/item/e3d5fe2e3317c6554fc2265e.html
Sun first proposed the servlet system, which allows Java programmers to develop Web applications based on B/S architecture, use the servlet class to encapsulate HTTP requests and responses in the standard Java class to implement various web application solutions. This step is also the most critical step in Sun's J2EE architecture.
With the development of a large number of B/S architecture programs, it is found that Servlet classes are very tedious to write, mainly focused on several issues: first, there are a lot of redundant code, these codes are identical or basically similar in each servlet class. Second, Servlet developers are rarely proficient in art, as a result, Servlet development cannot easily achieve various page effects and rich styles. At this time, Sun borrowed Microsoft's ASP method and officially proposed JSP (that is, Servlet 1.1). After JSP was launched, java programmers can also add server code to static pages that have been designed by the artist, as ASP programmers do, a JSP Container automatically parses the JSP file and converts it to a servlet class for running on the Web server. This greatly improves the work efficiency.
With the wide application of JSP and the prevalence of various design patterns, it is found that JSP has exposed a large number of problems: first, JSP files mixed with server code pose a lot of obstacles to the later maintenance and re-design of the page style. The artist had to face a lot of server code that he could not understand when modifying the page, programmers are often confused by complicated client code when modifying the logic. Cross-workflow makes JSP face a lot of dilemmas. This directly led to the publication of servlet1.2. Sun fully advocated the concept of MVC in this version. The use of a large number of page tags makes cross-workflow a little easier, the compatibility of server labels allows the artist to directly move these labels at will to get the corresponding effect. However, some problems are exposed: poorly designed labels prevent program errors from being detected, immature code makes it impossible for the server tag to be moved as freely as the client tag without causing logical errors. These issues need to be resolved.
Sun proposed JSP based on Microsoft's ASP, while Microsoft improved the Asp.net Architecture Based on Sun's JSP architecture. Therefore, we can see that through continuous competition and improvement, technology will always make us more comfortable, so enjoy it.