2016-08-09 7 views
-3

JSP (기본 이해)를 알고 있지만 JSP 기술에 몇 가지 의구심이 있습니다.JSP는 웹 페이지에 동적 인 동작을 제공합니까?

는 아래의 간단한 JSP를 고려

이에 관하여
<html> 
    <head> 
     <title> This is demo</title> 
    </head> 
    <body> 
     <h1> The current time is <%=new java.util.Date()%> </h1> 
    </body> 
</html> 

, 나는 (내 마음의 뒤쪽에 유지 된) 약간의 의심이 있습니다

1)의 기본 텍스트를 이 JSP는 동일합니다, 동적 페이지입니까? 자바 코드가 있기 때문에?

2) 사용자가이 jsp 페이지에 액세스하면 컨테이너가 먼저 Java 코드를 실행하고 페이지 내의 Java 코드 출력을 바꿉니 까?

3) 무엇이 jsp 페이지가 되는가? html과 자바 코드를 섞어서 JSP로 만드나요?

4) 자바 코드 (< %%>)는 HTML과 독립적으로 사용할 수 있습니까? 또는 결합되어 있습니다 (자바 코드는 html 페이지에 있어야합니다).

그들은 기본적인 질문 일 수 있습니다. 누구든지 나를 이해하는 데 도움이 될 수 있습니까?

+1

질문 당 질문 하나를 쓰면 대답이 쉽고 중복 된 것을 쉽게 찾을 수 있습니다. – BalusC

+1

JSP 튜토리얼을 읽지 않는 이유는 무엇입니까? 내말은, 당신은 JSP를 알고 있다고 말하지만, 그것이 이상하다는 것을 당신이 알지 못하는 것처럼 들립니다. –

+0

귀하의 의견을 주셔서 감사합니다, 나는 그들이 질문과 관련된 질문입니다, 왜 이러한 네 가지 질문을 물었다. 나는 몇몇 JSP 튜토리얼을 읽었지만 나의 질문에 대한 대답을 얻지 못했다. – CuriousMind

답변

1
  1. 예는 동적 - 여기에 자바 스크립틀릿 동적 부분
  2. 정확하지 않게됩니다. JSP는 템플릿 엔진이 아닙니다. JSP 페이지는 자바 소스로 완전히 변환 된 다음 서블릿 컨테이너에 의해 클래스 파일로 컴파일됩니다. 그런 다음 해당 클래스는 런타임에 실행됩니다.
  3. 확장자 .JSP는 JSP 파일로 만듭니다. 그런 다음 서블릿 컨테이너에서 올바르게 처리되도록 JSP 구문을 준수해야합니다.
  4. 질문을 역으로하십시오. Java 코드는 일반적으로 Java 소스 파일에 있습니다. HttpServlet 인터페이스를 구현하는 Java 클래스는 서블릿 컨테이너에 의해 URL에 직접 맵핑 될 수 있습니다. 그리고 자바 코드 는 JSP

에서 스크립틀릿 거짓말 그러나 당신이 코멘트에서 밝혔다했다, 당신은 정말 여기에 질문을하기 전에에 대한 문서를 읽어야합니다.

+0

답장을 보내 주셔서 감사합니다. 이것에 의해 jsp 파일에 Javascript 코드가 있다면 결국 container가 생성하는 java 파일의 out.write()에 넣게됩니다. 그리고 페이지가 웹 브라우저에 도달하면 브라우저의 자바 스크립트 엔진이이를 실행합니다. 나는 그것이 옳았기를 바란다. – CuriousMind

1

1) 코드 스 니펫, JSP 태그 등 JSP 요소가 포함되어 있으면 동적입니다. HTML로만 구성된 경우 JSP로 처리되는 경우 정적 응답이 동적으로 계산되지만 꽤 정적입니다. 각 통화마다 (안전한 캐싱).

2) 그렇습니다. 실제로 JSP의 정적 텍스트는 out.write()에 들어갑니다. Java 클래스의 명령문. 전체 JSP는 Java 클래스로 변환됩니다.

3) 재미있는 질문입니다. 그것은 해석의 모든 문제입니다. JSP 컨테이너의 이름을 .jsp로 지정하거나 웹 컨테이너가 다른 방식으로 JSP로 처리하도록하는 경우 (의존하는 경우) JSP로 지정할 수 있습니다.

4)이 질문은 명확하지 않습니다. 스 니펫은 정적 텍스트가이 지점까지 출력 된 후에 실행됩니다. 이 런타임에 (심지어 부분적으로) 계산되기 때문에