1.2 java web的發展歷史


前言

   了解java web的發展歷史和相關技術的演進歷程,非常有助於加深對java web技術的理解和認識。

閱讀目錄

  • 1、Servlet的出現
  • 2、Jsp的出現
  • 3、倡導了MVC思想的Servlet版本1.2出現——JSP+Servlet+JavaBean
  • 4、框架階段
    • 4.1、Struts的出現
    • 4.2、Spring的出現
    • 4.3、SpringMVC的出現

1、Servlet的出現

    上世紀90年代,隨着Internet和瀏覽器的飛速發展,基於瀏覽器的B/S模式隨之火爆發展起來。 最初,用戶使用瀏覽器向WEB服務器發送的請求都是請求靜態的資源,比如html、css等。 但是可以想象:根據用戶請求的不同動態的處理並返回資源是理所當然必須的要求。

     java 為了應對上述需求,就必然推出一種技術來支持動態需求,因此servlet技術誕生

    使用Servlet技術,頁面中的所有信息需要通過輸出語句來生成。下面的代碼(部分代碼)生成的頁面的內容就是“HelloWorld!”。

public void doGet(HttpServletRequest request,HttpServletResponse)
   throws IOException,ServletException
{
    response.setContentType("text/html;charset=gb2312");
    PrintWriter out = response.getWriter();
    out.println("<html>");
    out.println("<head><title>Hello World!</title></head>");
    out.println("<body>");
    out.println("<p>Hello World!</p>");
    out.println("</body></html>");
}

2、Jsp的出現

   servlet誕生后,sun公司很快發現servlet編程很繁瑣,1)servlet代碼有大量冗余代碼,out輸出就得寫上百遍;2)開發servlet必須精通網頁前端和美工,你得非常不直觀的在Servlet中寫前端代碼,這使得實現各種頁面效果和風格非常困難。

   所以,sun公司借鑒 微軟的asp,正式推出了jsp(servlet1.1)。采用HTML語言直接生成界面,在界面中使用<% %>腳本標識嵌入Java代碼

   一個簡單的jsp例子

<html>
   <head><title>測試</title></head>
   <body>
      第一階段<% String str = “test” ; out.println(str); %>
    </body>
</html>

 

3、 倡導了MVC思想的servlet版本servlet1.2出現------------jsp+javabean+servlet

    jsp出現后,也存在問題,1)前端開發人員需要看大量他看不懂的后端代碼;2)同樣,servlet開發人員也在復雜的前端代碼中找到其能寫servlet代碼的地方

   所以,MVC思想的JSP+JavaBean+Servlet誕生了

  JSP(V):JSP完成輸入和輸出,主要使用HTML標簽和JSP標簽

 Servlet(C):主要完成控制,接收請求,調用業務處理(JavaBean),根據調用的結果找到一個JSP頁面對用戶進行響應

JavaBean(M):完成所有的處理過程

4、框架階段

    倡導了MVC思想的jsp+javabean+servlet出現,也存在問題:1)jsp頁面中嵌入了很多java代碼,使得結構很亂;2)對於大型項目,servlet過多,轉向頻繁,流程,配置等不易集中管理,因而出現了struts

4.1、Struts的出現

2001年6月,struts1.0出現,struts針對jsp推出了一套struts標簽,從而使得jsp中沒有了Java代碼,結構清晰,功能強大。針對servlet,它提供了Action類來代替了servlet,這個Action類具有servlet的功能,並且能夠進行一些請求過濾和自動轉碼的功能。

4.2、Spring的出現

原本已經開起來很完美了,但是又有一個問題,就是我們在Action調用DAO、Java bean等對象的時候都需要在自身代碼中構建它們的對象來使用,這樣增加了程序的耦合性,這與我們:“高內聚、松耦合”的思想不符合,那么怎么解決這個問題呢?因而出現了Spring框架。

Spring框架有兩大功能:IOC(控制反轉)和AOP(面向切面的編程),其中IOC就是說:當一個類中想要調用另外一個類的對象時,不需要再通過new 關鍵字來創建,而是由Spring框架來負責:創建、分配和管理,從而降低了程序中的耦合性。而AOP可以用來做一些日志的打印和輸出,用於提示程序執行過程中的一些具體信息等。

4.3 、SpringMVC的出現

最后struts和Spring的整合,由於每一個bean都要在Spring中注冊,每一個URL都要在struts配置文件中配置。當bean很多和URL對應的請求很多的時候,配置文件無疑會是很龐大的,這個就會使得配置起來很麻煩的費力。那么還有沒有更好的辦法使得能夠結合Spring的功能和struts的功能,但是又可以使配置文件不會批量的增加?因而SpringMVC出現了

SpringMVC通過“基於注解”的方式代替了struts,並且通過Controller類來代替和實現了Action的功能。由於是基於注解的,所以很多的配置信息放在了Controller類中配置,從而降低了.xml文件的配置復雜度。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM