• JSP, MVC 패턴의 등장



  • JSP? JavaServer Pages는 스크립트 언어로서 다음과 같은 특징을 갖고있다.

     - 자바 언어를 기반으로 하는 스크립트 언어로서 자바가 제공하는 기능 그대로 사용 가능(플랫폼에 상관없이 사용 가능)

     - HTTP와 같은 프로토콜에 따라 클라이언트의 요청을 처리하고 응답

     - HTML, XML 등 클라이언트가 요청한 문서를 생성하는 데 주로 사용된다.

     - 서블릿/EJB 등의 엔터프라이즈 기술들과 잘 융합된다.

     - 표현언어, 표현식, 스크립트릿 등 다양한 스크립트 요소와 액션 태그 등을 제공함으로써 보다 쉽게 웹 어플리케이션을 프로그래밍 할 수 있도록 도와준다.

    - 요청 URL과 서블릿 매핑


     - 일반적인 웹 서버 동작 방식


    -
    JSP 동작 방식


     - JSP -> Servlet

     - JSP Lifecycle


'Programing > Jsp' 카테고리의 다른 글

웹 프로그래밍 - JSP  (0) 2015.11.03
웹 프로그래밍 - 서블릿(2)  (0) 2015.11.03
웹 프로그래밍 - 서블릿(1)  (0) 2015.11.03
웹 프로그래밍 - Apache Tomcat  (0) 2015.11.03
웹 프로그래밍 - 기초  (0) 2015.11.03

- ServletConfig 객체


- ServletContext 객체


- HttpSession 객체











  • 속성











'Programing > Jsp' 카테고리의 다른 글

웹 프로그래밍 - JSP  (0) 2015.11.03
웹 프로그래밍 - 서블릿(2)  (0) 2015.11.03
웹 프로그래밍 - 서블릿(1)  (0) 2015.11.03
웹 프로그래밍 - Apache Tomcat  (0) 2015.11.03
웹 프로그래밍 - 기초  (0) 2015.11.03
  • 서블릿? 자바 언어를 개발한 썬에서 웹 개발을 위해 만든 표준이다. 서블릿 규약에 따라 만든 클래스를 서블릿(Servlet)라고 부른다.





    - Servlet 구조


    - Servlet Lifecycle





  • 웹 컨테이너? 웹 어플리케이션을 실행할 수 있는 컨테이너. JSP 컨테이너 + 서블릿 컨테이너 = 웹 컨테이너

웹컨테이너에 대한 이미지 검색결과


  • 컨테이너와 서블릿 동작 방식


  • HttpServletRequest
    : 파라미터, 헤더, 쿠키, 세션, GET/POST, IP 등의 정보를 얻을 수 있는 메서드 존재


  • HTTPServletResponse
    : content 타입, 헤더, 에러값 등을 전달할 수 있는 메서드 존재


'Programing > Jsp' 카테고리의 다른 글

웹 프로그래밍 - JSP  (0) 2015.11.03
웹 프로그래밍 - 서블릿(2)  (0) 2015.11.03
웹 프로그래밍 - 서블릿(1)  (0) 2015.11.03
웹 프로그래밍 - Apache Tomcat  (0) 2015.11.03
웹 프로그래밍 - 기초  (0) 2015.11.03
  • Apche Tomcat Server?



  • Apache Tomcat = Apache + Tomcat? X 

 - Apache Tomcat = Tomcat의 WAS기능 + Apache의 웹서비스 데몬 기능

 - Apache Tomcat은 기본적인 HTTP web server 기능을 포함하고 있는 WAS server

  • 성능향상을 위해 Apache와 Tomcat 연동?

 - 과거 톰캣의 Web 서버 기능은 아파치보다 느린 속도처리로 정적인 페이지는 Apache가 처리하고, 동적인 페이지를 Tomcat이 처리, 부하를 분산하는 이유에서 Apache와 Tomcat을 연동하였습니다.

 - 현재는 Tomcat이 많이 발전해 Tomcat 내의 Web 서버가 아파치에 절대 뒤쳐지지 않을만큼의 역할을 수행합니다.

 - Apache와 Tomcat을 연동하여 사용하는 이유는, 아파치 내에서만 설정할 수 있는 부분이라던가 아파치에서 제공하는 유용한 모듈(PHP, ASP 등)들을 톰캣에서 사용할 수 없기 때문입니다.

 - 결과적으로 유연성 위해 연동



출처: http://joont.tistory.com/55

'Programing > Jsp' 카테고리의 다른 글

웹 프로그래밍 - JSP  (0) 2015.11.03
웹 프로그래밍 - 서블릿(2)  (0) 2015.11.03
웹 프로그래밍 - 서블릿(1)  (0) 2015.11.03
웹 프로그래밍 - Apache Tomcat  (0) 2015.11.03
웹 프로그래밍 - 기초  (0) 2015.11.03
  • HTML? HyperTextMarkup Language 
     - 웹 페이지를 작성하기 위한 일종의 언어

     - 웹브라우저가 HTML문서를 파싱 후 화면에 출력

     - Tag? HTML에서 사용되는 일종의 명령어

      : 대소문자 구분이 없다.

      : 시작 tag와 종료 tag는 적합한 순서로 nesting되어야 한다.

      : 주석 <!--  -->


  • CSS? Cascading Style Sheets
     - 웹문서에 글꼴, 색상, 여백등을 지정해 줄 수 있는 수단

     - CSS 적용하는 3가지 방법

     ① 외부 스타일 시트(External Style Sheet)

      : <style type="*/css"> ~ </style>

     ② 내부 스타일 시트(Internal Style Sheet)

     : <link rel="stylesheet" href="*.css"> 

     ③ HTML태그내에 스타일 지정(Inline Styles)

     :<p style="color:gray;">이 문단의 색상은 회색으로 지정됩니다.</p>

    -URL: [프로토콜]://[호스트][:포트][경로][파일명[.확장자][쿼리문자열]

    -통신 프로토콜: 서로 다른 기종의 컴퓨터 사이에 자료를 주고받기 위한 약속된 규약
      


  • 웹 어플리케이션 구축을 위해 필요한 구성 요소들



 구성 요소 


 -웹 서버: 웹 브라우저의 요청을 받아서 알맞은 결과를 웹 브라우저에 전송한다. 만약 프로그램 처리가 필요하다면 어플리케이션 서버를 사용하거나 프로그램을 직접 호출하여 결과를 생성한다. 주로 정적인 HTML, 이미지, CSS, 자바 스크립트 파일을 웹브라우저에 제공할 때 웹 서버를 사용한다. (Apache, nginx 등)

 -어플리케이션 서버: 게시글 목록, 로그인 처리와 같은 기능을 실행(처리)하고, 그 결과를 응답으로 웹 서버에 전달한다. (톰캣, JBoss 등)

 -데이터베이스: 웹 어플리케이션이 필요로 하는 데이터를 저장한다. (오라클, MYSQL, MSSQL 등)

 -웹 브라우저: 웹 서버에 서비스 실행을 요청하며, 웹 서버의 처리 결과를 사용자에게 보여준다. (인터넷 익스플로러, 구글 크롬, 파이어 폭스 등)



  • Server-side Conding



 - CGI(Common Gateway Interface) 방식: 요청마다 매번 메모리에 프로그램 로딩


 - 어플리케이션 서버 방식 : 메모리에 한 번만 로딩

 비교항목

실행코드 방식 

스크립트 방식 

코드 형태

컴파일 된 실행 프로그램 

컴파일 되지 않은 스크립트 코드 

실행 방식

컴파일 된 기계어 코드 직접 실행 

스크립트 코드를 해석한 뒤 실행 

코드 변경

소스 코드를 다시 컴파일 해야 함 

스크립트 코드만 고치면 됨  

종류

C 기반 CGI 프로그램 

JSP, ASP.net, PHP, Ruby  





스크립트 코드 번역은 최초 요청에 대해서 한 번만 발생하며, 이후의 요청에 대해서는 번역 과정 없이 앞서 번역된 코드를 실행하도록 함으로써 번역 횟수를 최소화 하고 있다.









'Programing > Jsp' 카테고리의 다른 글

웹 프로그래밍 - JSP  (0) 2015.11.03
웹 프로그래밍 - 서블릿(2)  (0) 2015.11.03
웹 프로그래밍 - 서블릿(1)  (0) 2015.11.03
웹 프로그래밍 - Apache Tomcat  (0) 2015.11.03
웹 프로그래밍 - 기초  (0) 2015.11.03

+ Recent posts