我知道jsp_service()
方法不能被覆蓋,但我的一個朋友說我們可以在JSP中使用scriptlet來覆蓋該方法,並可以在該方法中執行任何我們需要的操作。可以覆蓋jsp_service()方法嗎?
任何人都可以解釋它是真的嗎?
我知道jsp_service()
方法不能被覆蓋,但我的一個朋友說我們可以在JSP中使用scriptlet來覆蓋該方法,並可以在該方法中執行任何我們需要的操作。可以覆蓋jsp_service()方法嗎?
任何人都可以解釋它是真的嗎?
不是這樣。
採取抽樣JSP:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<h1>Hello World!</h1>
</body>
</html>
如果您檢查生成的servlet這個JSP。您會發現包含HTML代碼的_jspService
方法爲out.write
爲什麼?
既然什麼都我們在JSP編寫代碼將被放置在(從JSP)生成的servlet類的_jspService()
.means _jspService()
已經被us.So imlimented如果我們試圖重寫_jspService()
它會給有關編譯錯誤方法_jspService()
已被定義。
無論我們在scriplet中寫什麼,都會將其轉換成jsp_service()
方法到生成的Servlet中。因此,要覆蓋此方法,您可以簡單地在scriplet中編寫代碼。但是,您無法手動覆蓋此方法。這會導致編譯失敗。
這就是執行scriptlet內的代碼的地方。這與重寫方法不同。 –