[英]Can we implement interface or extend class in JSP?
我們可以在Jsp中實現接口嗎? 如果是,那么如何或為什么不呢?
如果是,那么我們如何覆蓋那些未實現的方法?
我們可以在jsp中擴展任何其他類嗎? 如果不是,那么為什么或如何(如果是)。
如果是,那么將在js和servlet已經擴展了其他內容的情況下轉換為jsp。
如果否,則<%@ page extend =“ package.className”> ,這是什么意思?
謝謝。
用JSP編寫的所有代碼都將用於在Servlet的service
方法中生成代碼,該Servlet的URL模式與URL匹配以訪問您的JSP。 除此之外,在JSP中編寫Java代碼(稱為scriptlet)被認為是一種不好的做法,因此您不應再使用它。
extend
意味着生成的servlet必須從值中指定的類擴展。 但是同樣,您應該避免使用腳本。
與其考慮使用任何Java代碼(通過接口,類繼承或以后可能要使用的任何方法),不如使用MVC方法並將所有業務邏輯移至控制器/模型中。 基本方法是使用Servlet,另一種方法是使用Web框架(如Spring MVC或JSF)來幫助您編寫此框架。 對於必須將動態數據添加到視圖(JSP)的情況,可以使用表達式語言和類似JSTL的庫來解決您的問題。
更多信息:
屬性extends
(不是extend
)指定了一個應實現接口javax.servlet.jsp.JspPage的類。
由於生成的類名不一定要規范或簡單明了,因此擴展另一個JSP並不是很好。 因此,擴展沒有什么價值。
由於JSP類無法重用(擴展),因此實現接口的價值不高。
實際上,JSP的主要用途應該是MVC范例的View功能,其中Servlet充當Controller,並使用屬性中的data / Model調度到Vew / JSP。
代替繼承,可以使用POJO(普通的Java對象)實現一些常規功能。 這樣的類可以在Web容器之外開發,例如,通過編寫單元測試:TDD,測試驅動的開發。
還應考慮JSP可以作為Servlet轉發或包含另一個Servlet / JSP。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.