2013-06-04 3 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를위한 서블릿을 생성 체크합니다. HTML 코드를 포함하는 _jspService 메서드는 out.write

으로 표시됩니다. 이유가 무엇입니까? 지금까지 우리는 JSP 코드를 쓴 이후

은 (JSP)에서 생성 된 서블릿 클래스의 _jspService()에 배치됩니다 .means _jspService() 우리는이에 대한 컴파일 오류를 줄 것이다 _jspService()을 무시하려고 시도하는 경우 이미 us.So에 의해 imlimented한다 방법 _jspService()이 이미 정의되어 있습니다.

자세히보기 why jspService() cannot be overridden? 스크립 내에서 코드가 실행되는 곳이다

0

scriplet 안에 쓰는 것은 모두 jsp_service() 메서드로 생성 된 Servlet으로 변환됩니다. 따라서이 방법을 재정의하려면 코드를 scritplet로 작성하면됩니다. 그러나이 방법은 수동으로 재정의 할 수 없습니다. 컴파일이 실패하게됩니다.

관련 문제