3 回答

TA貢獻2021條經(jīng)驗 獲得超8個贊
幾個原因:
可重用性:您無法重用scriptlet。
可替換性:您不能使scriptlet抽象。
面向對象的能力:您不能利用繼承/組合。
可調試性:如果scriptlet在中途拋出異常,您得到的只是空白頁。
可測試性:腳本無法進行單元測試。
可維護性:每一次交易需要更多時間來維護混雜/混亂的代碼邏輯。
還有更多,但是歸根結底,scriptlet是一種不好的做法。
您可以使用JSTL和EL在表示層上做很多事情。如果您發(fā)現(xiàn)它們中的任何一個都是不可能的,并且您被迫獲取scriptlet,那么代碼邏輯最終屬于真正的 Java類。您可以使用一個Servlet
類來控制/預處理/后處理請求,可以使用一個Filter
類來過濾請求,可以使用一個DAO
類來進行數(shù)據(jù)庫交互,可以使用一個Javabean
類來存儲/傳輸/訪問數(shù)據(jù),可以使用一個Domain
用于業(yè)務邏輯的Utility
類,可以將類用于靜態(tài)工具。

TA貢獻1876條經(jīng)驗 獲得超7個贊
如果您要編寫的應用程序超過5頁,則混合使用邏輯和表示可能會使您的生活更加艱難。但是,這是我的一個不受歡迎的觀點-對于小型應用程序(甚至中型應用程序),只有一個“知道他的代碼”的開發(fā)人員,可以將JSP用于業(yè)務邏輯??赡苁菍sps放在/action/
文件夾,以后再重定向到演示文稿文件夾,也可以是請求來自的相同jsps。我有一個例子-在開發(fā)實踐的開始,我制作了一個幾乎完全基于自發(fā)布jsps的基于Web的策略游戲。那是五年前。幾周前,我看了一下我的代碼庫,我了解了所有內容。因此,如果您才剛剛開始,并且不想以一個大型框架作為起點,而這個大型框架會使您的學習曲線更加陡峭,并且您不希望自己的項目太大或變得商業(yè)化(注:我的商業(yè)化了)一方面,您可以隨意將jsps用于業(yè)務邏輯,但是請注意,在通常情況下,這不是一個好習慣。
添加回答
舉報