JSP 編碼規範

來源:互聯網
上載者:User

。整個jsp/jsp bean展示層應當儘可能的瘦和簡單化。

。牢記大多數的JSP都應當是唯讀視圖,而由頁面bean來提供模型。

。應當一起設計JSP和JSP bean

。在儘可能合理的情況下,把商務邏輯從JSP中移走。具體於HTTP的邏輯(如,對Cookie的處理)屬於bean或支援類中,而不是JSP中。

。盡量把條件邏輯放在控制器中而不是放在視圖中。

。為JSP、包含的檔案、JSP Bean和實現擴充標記的類使用遵循標準的命名慣例。如:
        jsp控制器   xxxxController.jsp
       被包含的:  jsp _descriptiveNameOfFragment.jsp
        jsp頁面模型bean:   <pagename>Bean 如loginBena.java
        jsp會話bena:   xxxxSessionBean
        標記類 : xxxxTag,xxxxTagExtraInfo

。應當在JSP中避免使用頁面引入指令。import指令會促使類的實列化而不是jsp bean的執行個體化:
        不用:<%@ page import = "com.java.util.*" %>
        而用:<% java.util.List l = new java.util.LinkedList(); %>

。jsp不應該直接去訪問請求參數。bean應當執行這樣的處理過程並且輸出所處理的模型資料。

。jsp不應當訪問屬性檔案,或者使用JNDI。bean可以訪問屬性。

。如果jsp bean具有的所有的屬性不能夠從頁面請求中被映射到,就要儘力在<jsp:useBean>標記中設定屬性。

。應當避免設計既顯示表單又處理結果的頁面。

。在jsp中避免代碼重複。把要重複的功能放在一個包含的jsp、bean或標記延伸中,使得它能夠被重用。

。jsp bean應當永遠不要去產生HTML

。在jsp中應該避免使用out.pringln()發放來產生頁面內容。

。jsp層不應該直接存取資料,這包括JDBC資料庫訪問和EJB訪問。

。在長度上,scriptlests的代碼最好不要超過5行。

。除了jsp bean之外,jsp不應當去執行個體化複雜的可讀寫的對象。如果這樣的話,就有可能在jsp中去執行不適當的商務邏輯。

。jsp bean中不應當包含大量的資料。

。如果使用了<jsp:forward>和<jsp:include標記>,並且必須使用簡單類型的值來與外部頁面進行通訊的話,就應當使用一個或多個<jsp:param>元素

。定製標記應當用在適當把邏輯從jsp中移走的地方。

。應當謹慎地使用<jsp:forward>標記,在jsp中它是一個等價的goto。

。應當使用隱藏的注釋來阻止輸出的HTML過大。

。在jsp中避免進行異常處理

。每個jsp檔案中都應當使用一個錯誤頁面來處理不能夠從中恢複的異常。

。在jsp錯誤頁面中,使用HTML注釋來顯示傳遞到該頁面中的異常跟蹤資訊。

。只有在能夠獲得效能上的好處時,才使用jspInin()方法和jspDestroy()方法。擷取和放棄資源是jsp beans和標記處理器的事,而不是由jsp來負責的。

。如果沒有充分的理由,就不要在jsp中定義方法和內部內。

#java專欄

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.