메뉴 건너뛰기

조회 수 6707 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
JSP (Java Server Page)
서블릿 기술을 확장 시켜(기존에 불편함을 개선하여) 웹환경에서 손쉬운 개발을 하기위하여 만든 기술

Version
JSP 1.1, 1.2, 2.0, 2.1, 2.2
Servlet 2.2, 2.3, 2.4, 2.5, 3.0
JSP/Servlet 버젼은 웹 컨테이너 (WAS, 웹 애플리케이션 서버) 에서 지원하는 버젼을 확인 해야 함
(톰켓의 경우 이곳에서 확인 가능 http://tomcat.apache.org/whichversion.html)
    
서블릿 (Servlet)
자바의 웹 애플리케이션을 구현하기 위해 작성해야 하는 코드로, 이 서블릿은 웹 컨테이너를 통해 생성되고, 실행되며,
소멸하게 됩니다. 클라이언트 (사용자)의 요청과 응답을 처리하는 클래스 입니다.
JSP는 서블릿이 되더라 -> http://cafe.naver.com/buldon/1047

웹 컨테이너란 (WebContainer)?
서블릿 클래스 또는 JSP 파일을 실행하기 위한 실행 환경을 제공하는 역할을 하고, 요청을 처리한 후 응답을 내보내 웹서버에 전달하는 기능을 제공해줍니다. 
(JDK가 설치되어 있어야 웹 컨테이너를 설치할 수 있죠)
WAS (Web Application Server) 라고도 합니다.

웹 컨테이너의 종류
Tomcat, Resin, WebLogic, Jeus, Jetty, WebSphere, JBOSS 등

웹 서버란 (WebServer)?
클라이언트/서버 모델과 웹의 HTTP를 사용하여 웹 페이지가 들어 있는 파일을 사용자들에게 제공

웹서버와 웹 컨테이너 동작원리


서블릿라이프사이클(Servlet Life Cycle,생명주기및동작원리) 


서블릿 관련 클래스 다이어그램


서블릿 클래스 구현 (클래스다이어그램의 맨 하단에 있는 서블릿 클래스)

  web.xml 에 서블릿 정보 설정

  


  서블릿 클래스


  웹 브라우저의 결과 보기

  

  요청시 마다 1씩 증가하는 모습을 볼 수 있습니다.
  서블릿 클래스에 멤버변수로 선언되어 있는 num 변수의 값이 모든 요청에 대해 공유하게 됩니다.
  서블릿 클래스는 싱글톤 입니다. 즉, 기존에 객체가 메모리에 존재한다면 그 객체를 다시 돌려줍니다.
  init, doGet, doPost, destroy 를 오버라이딩 한 후 서블릿 클래스를 만들었습니다.

  순서로 보자면
     1. http://localhost:8080/Stone 요청
     2. init() 메소드 호출
     3. 서블릿클래스 Thread 생성 후 service() 메소드 호출 
        (service() 메소드는 부모클래스인 HttpServlet에 존재)
     4. service() 메소드내에서 오버라이드한 자식클래스의 doGe을 호출 (POST 요청시 doPost 호출)
        부모클래스에서 자식클래스 메소드 호출 -> http://ufx.kr/blog/407

  여기서 init() 메소드는 최초요청시 한번만 호출 됩니다.
  destroy() 메소드 또한 한번만 호출되며, 컨테이너 종료될 때, 타임아웃 되었을 때, class 내용이 변경되었을 때 호출 됩니다.

List of Articles
번호 제목 날짜 조회 수
65 Oracle Database DB연결, table 생성 file 2017.09.11 4262
64 JSP 동작 원리, 내부 객체 file 2017.09.12 3579
63 스크립틀릿(Scriptlet), 선언(declaration), 표현식(expression) file 2017.09.12 3635
62 지시자(Directive) file 2017.09.12 3123
61 주석(comments) file 2017.09.12 3114
60 request, response file 2017.09.12 3220
59 JSP 게시판 만들기 - 구현 (이클립스 웹 프로젝트 생성) file 2017.09.12 4860
58 JSP 게시판 만들기 - 구현 (이클립스 웹 프로젝트 생성) file 2017.09.12 13385
57 JSP 게시판 만들기 - 개발표준, 화면설계 file 2017.09.12 6590
56 JSP 게시판 만들기 - 시스템 아키텍처 file 2017.09.12 4781
» JSP (Java Server Page), Servlet에 대해 file 2017.09.12 6707
54 JSP 게시판 만들기 - 네이밍, 데이터베이스 설계 file 2017.09.12 4956
53 JSP 게시판 만들기 - 구현 (웹 프로젝트와 톰켓 연동, 샘플 페이지 작성) file 2017.09.12 5185
52 JSP 게시판 만들기 - 구현 (디렉토리, 파일, 테이블 생성) file 2017.09.12 7909
51 JSP 게시판 만들기 - 구현 (HTML 코딩) file 2017.09.12 17064
50 JSP 게시판 만들기 - 구현 (MySQL과의 연동) file 2017.09.12 37892
49 JSP 게시판 만들기 - 구현 (Method, Query 기초) file 2017.09.12 30633
48 JSP 게시판 만들기 - 구현 (파라미터, 요청/응답) file 2017.09.12 4798
47 JSP 게시판 만들기 - 구현 (마무리, 테스트) file 2017.09.12 6579
46 JSP 게시판 만들기 - 완료 (소스파일, 의견) 2017.09.12 5501
Board Pagination Prev 1 2 3 4 Next
/ 4

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved