2014-12-03 9 views
1

우리는 JSP로의 인터페이스를 구현 할 수 있나요?'예'인 경우, 그럼 어떻게 또는 왜 안?JSP로 인터페이스를 구현하거나 클래스를 확장 할 수 있습니까?

그렇다면 구현되지 않은 메소드를 어떻게 재정의 할 수 있습니까?

jsp에서 다른 클래스를 확장 할 수 있습니까?없이 왜 나 방법 예 경우합니다.

그렇다면 jsp가 서블릿으로 변환되어 서블릿이 이미 다른 내용을 확장하므로 어떻게됩니까?

아니요, 그렇다면 < % @ page extend = "package.className">이 무엇을 의미합니까?

감사합니다.

+1

왜 그냥 물건을 시도하고 생성 된 Java 소스를 살펴 보지 않겠습니까? –

답변

0

JSP로 작성된 모든 코드는 서블릿에 대한 service 메소드의 코드를 생성하는 데 사용됩니다.이 서블릿의 URL 패턴은 JSP에 액세스하기위한 URL과 일치합니다. 그 외에는 스크립틀릿이라고하는 JSP로 Java 코드를 작성하는 것이 좋지 않으므로 더 이상 사용하지 않아야합니다.

extend은 생성 된 서블릿이 값에 지정된 클래스에서 확장되어야한다는 것을 의미합니다. 그러나 다시 한번 스크립틀릿 사용을 피해야합니다.

(인터페이스, 클래스 상속 또는 나중에 생길 수있는 것을 통해) 어떤 Java 코드를 사용하든 대신 MVC 방식을 사용하고 모든 비즈니스 로직을 컨트롤러/모델로 이동하십시오. 기본 접근법은 서블릿을 사용하는 것입니다. 또 다른 접근법은 Spring MVC 나 JSF와 같은 웹 프레임 워크를 사용하여 이것을 작성하는 것입니다. 동적 데이터를보기 (JSP)에 추가해야하는 경우 Expression Language 및 JSTL과 같은 라이브러리를 사용하여 문제를 해결할 수 있습니다.

상세 정보 :

+0

Yeap, jsp 페이지에서 자바 코드를 연습하는 것이 좋지 않다는 것을 알고 있습니다.하지만 여전히 대답을 알아야합니다. 칸트가 인터뷰 게시판에 나쁜 관행을 말합니다. ( – Hashmap

+0

@Eame, 인터뷰에서이 질문을받는다면 JSP 코드가 서블릿에 작성되고이 서블릿을 클래스에서 확장 할 수 있다고 대답 하겠지만 내가 할 수있는 사실은 나쁜 습관으로 간주되기 때문에 내가 할 것이라는 뜻은 아니다. –

+0

@LuiggiMendoza 컨테이너 생성 JSP 서블릿을 어떻게 수정할 수 있을까? – Sas

0

속성 extends (안 extend)는 인터페이스 javax.servlet.jsp.JspPage를 구현해야하는 클래스를 지정합니다.

생성 된 클래스 이름이 반드시 표준화되거나 직설적 인 것은 아니기 때문에 다른 JSP를 확장하는 것은 좋지 않습니다. 따라서 확장은 가치가 거의 없습니다. 는 JSP 클래스 (확장) 재사용 할 수 없습니다로

구현 인터페이스는 많은 가치를 제공하지 않습니다.

사실 JSP의 주요 용도는 서블릿이 컨트롤러 역할을하는 MVC 패러다임의보기 기능을 사용해야하며 속성에 data/Model이있는 Vew/JSP로 디스패치합니다. 대신 상속을 사용 POJOs를의

은 몇 가지 일반적인 기능을 구현합니다. 이러한 클래스는 웹 컨테이너 외부에서 개발할 수 있습니다 (예 : 단위 테스트 작성, TDD, 테스트 기반 개발).

는 또한 JSP는 서블릿, 앞으로 또는 AS/JSP를 다른 서블릿을 포함 할 수 있음을 고려한다.