2013-06-04 4 views
2

Я знаю, что метод jsp_service() нельзя переопределить, но один из моих друзей сказал, что мы могли бы использовать скрипты в JSP для переопределения метода и могли бы делать все, что нужно в этом методе.Можно ли переопределить метод jsp_service()?

Может ли кто-нибудь объяснить, что это правда?

+0

Вот где коды в скриптлетах выполняются. Это не то же самое, что переопределение метода. –

ответ

7

Это не правда.

Возьмите образец 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> 

Если чек генерируется сервлет для этого JSP. Вы найдете метод _jspService, содержащий код HTML как out.write

Почему?

Так что когда-нибудь мы писали код в JSP будет размещены в _jspService() генерируемого класса сервлета (от JSP) .means _jspService() уже imlimented по us.So, если мы пытались переопределить _jspService() это даст ошибку компиляции относительно метод _jspService() уже определен.

Подробнее why jspService() cannot be overridden?

0

Все, что мы пишем внутри скрипта, преобразуется в метод jsp_service() в сгенерированный сервлет. Таким образом, чтобы переопределить этот метод, вы можете просто написать код в scriplet. Но вы не можете вручную переопределить этот метод. Это приведет к сбою компиляции.

Смежные вопросы