3_JSP 흐름 및 코드블럭

study/Servlet&JSP · 2021. 11. 17. 12:52

○ JSP(Java Server Pages)
Java언어를 기반으로 하는 Server Side 스크립트 언어
HTML 코드에 Java 코드를 넣어 동적인 웹페이지를 생성하는 웹어플리케이션 도구

JSP 소스는 최초 요청시 자바 소스로 변환되고 변환 후 컴파일 되어 클래스 파일이 만들어짐
*.jsp -> *.java ->*.class 순으로 처리됨(JSP컨테이너가 작업)
컴파일된 클래스 파일은 서블릿 컨테이너가 실행
모든 JSP 는 _jspService() 메소드를 가지며 _jspService()는 JSP가 실행 될 때마다 호출됨

○ JSP -> java, class 경로
D:\~~~\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\ROOT\org\apache\jsp

○ 참고
catalina : 톰캣의 옛날 프로젝트명 
<% %> 코드블럭
tmp > work [제스퍼 작업실]
jsp파일명_jsp.java 

○ JSP 코드블럭
1. 멤버변수나 함수는 !
-> public final class ~~~~~_jsp extends org.apache.jasper.runtime.HttpJspBase
    implements org.apache.jasper.runtime.JspSourceDependent,
                 org.apache.jasper.runtime.JspSourceImports { ~~~} // 여기에 들어감

2. 코드블럭은 = 
-> public void _jspService(final javax.servlet.http.HttpServletRequest request, final javax.servlet.http.HttpServletResponse response)
      throws java.io.IOException, javax.servlet.ServletException { ~~~} //출력내용 들어가는 함수

3. page지시자는 @
-> 출력을 진행하기 전에 먼저 설정들을 해줘야되는 이유로 코드블럭에 들어갔을시 오류발생 
    ex) response.setCharacterEncoding("UTF-8");
        response.setContentType("text/html; charset=UTF-8");


※ JSP가 만들어낸 코드 변수에는 내가 모르는 변수가 존재할수 있음(내장객체)
ex) page, session, request.....etc

'study > Servlet&JSP' 카테고리의 다른 글

6. 중간정리(흐름도)  (0) 2021.12.01
5. EL(Expression Language)  (0) 2021.11.24
4. JSP MVC model1, MVC model2  (0) 2021.11.18
2_Servlet application session cookie  (0) 2021.11.02
1_서블릿2.X/서블릿3.0~ 및 인코딩  (0) 2021.10.19