JSP

정원·2022년 11월 10일
0

JSP

목록 보기
1/2
post-custom-banner

2022-11-10 JSP 책

  • 개발언어 : 자바
  • 웹 서버(Web Server) : HTTPD(아파치 웹 서버), NGINX
    * NGINX : 가벼우면서도 강력한 프로그램을 목표로 러시아에서 개발되어 미국에서 운영 중인 오픈 소스 웹 서버 프로그램이다.
    '엔진엑스'라고 읽는다. HTTP와 리버스 프록시, IMAP/POP3 등의 서버 구동이 가능하다. Java 서블릿은 대개 Apache의 톰캣을 연동해서 구동하고, PHP의 경우 PHP-FPM(FastCGI Process Manager)을 연동해서 구동한다.
  • 웹 어플리케이션 서버(WAS - Web Application Server) :
    DB조회나 다양한 로직을 처리하는 동적인 콘텐츠를 처리하는 시스템
    종류 : Tomcat, Jeus, JBoss
    사용언어 : PHP, JSP, ASP
  • 서버 웹 기술 : JSP, 서블릿
  • 서버 웹 기술을 위한 프레임워크 : 스프링 MVC
  • 클라이언트 웹 기술 : HTML, 자바스크립트
  • 클라이언트 웹 기술을 위한 프레임워크나 라이브러리 : jQuery
  • 데이터베이스 연동 : JDBC, MyBatis, JPA
    * JDBC : JDBC(Java Database Connectivity)는 자바에서 데이터베이스에 접속할 수 있도록 하는 자바 API이다.
    JDBC는 데이터베이스에서 자료를 쿼리하거나 업데이트하는 방법을 제공한다.
    * MyBatis : 쿼리 기반 웹 애플리케이션을 개발할 때 가장 많이 사용되는 SQL 매퍼(Mapper) 프레임워크이다.
    마이바티스를 사용하지 않고 직접 JDBC를 이용할 경우 문제점:
    개발자가 반복적으로 작성해야 할 코드가 많고, 서비스 로직 코드와 쿼리를 분리하기가 어렵다.
    또한 커넥션 풀의 설정 등 개발자가 신경 써야 할 부분이 많아 여러 가지 어려움이 있다.
    따라서, JDBC를 이용해서 직접 개발하기보다는 마이바티스와 같은 프레임워크를 사용하는 게 일반적이다.
    JDBC를 이용하여 프로그래밍을 하는 방식:
    클래스나 JSP와 같은 코드 안에 SQL문을 작성하는 방식
    따라서 SQL의 변경 등이 발생할 경우 프로그램을 수정해야 한다.
    -> 유연하지 않다, 코드가 복잡하게 섞여 있어서 가독성도 떨어짐
    마이바티스에서는 SQL을 XML 파일에 작성하기 때문에, SQL의 변환이 자유롭고 가독성도 좋다.
  • DBMS : MySql, 오라클
  • 통신 프로토콜 : HTTP
  • OS : 센트OS, 윈도우 서버 2012

JSP(JavaServer Pages)란 무엇인가?

JSP란 JavaServer Pages의 약자이며
HTML 코드에 JAVA 코드를 넣어 동적웹페이지를 생성하는 웹어플리케이션 도구이다.
JSP가 실행되면 자바 서블릿(Servlet)으로 변환되며
웹 어플리케이션 서버에서 동작되면서 필요한 기능을 수행하고
그렇게 생성된 데이터를 웹페이지와 함께 클라이언트로 응답한다.


웹(web)

웹이란 인터넷 기반의 정보기술로 World Wide Web 의 줄임말로 쓰이며 WWW 라고도 한다.

전세계에 거대한 네트워크 망을 통해 정보를 공유하며 정보의 흐름은 양방향성을 가진다.

웹어플리케이션(Web Application)

웹어플리케이션은 웹에서 실행되는 응용프로그램을 뜻하며 인터넷을 통한 은행업무, 인터넷쇼핑, 등등 인터넷에서 하는 여러 서비스를 총칭

하며 사용자가 필요한 요청(Request) 를 하고 서버에서는 이에 해당하는 요청을 수행하고 그리고 요청한 데이터를 응답(Response) 한다.

웹 어플리케이션이 위와 같이 동작하기 위한 몇가지 구성요소가 있다.

웹 브라우저(Web Browser) : 클라이언트에서 요청을 하고 전달받은 페이지를 볼수있는 환경을 말한다. ( 크롬, IE, Safari, Firefox 등.. )

웹 서버(Web Server) : 클라이언트로 부터 요청받아 서버에 저장된 리소스를 클라이언트 에게 전달한다. 주로 정적컨텐츠롤 담당한다.

웹 어플리케이션 서버 ( Web Application Server ) : 줄여서 was 라고도 부르며 서버단에서 필요한 기능을 수행하고 그결과를 웹서버에게 전달한다.

데이터베이스 : 서비스에 필요한 데이터를 보관, 갱신 등 관리를 한다.

자바 서블릿(Java Servlet)

서블릿이란 웹페이지를 동적으로 생성하기 위해 서버측 프로그램을 말한다.
이는 자바 언어를 기반으로 만들어지며 웹 어플리케이션 서버(Web Application Server)위에서 컴파일 되고 동작한다.

JSP 와 서블릿

JSP 와 서블릿의 차이점은 결과적으로 하는일은 동일하지만

JSP 는 HTML 내부에 JAVA 소스코드가 들어감으로 인해 HTML 코드를 작성하기 간편하다는 장점이있으며

서블릿은 자바코드내에 HTML 코드가 있어서 읽고 쓰기가 굉장히 불편하기 때문에 작업의 효율성이 떨어진다.

하지만 웹을 공부할때 JSP 와 서블릿은 함께 배운다 그건 왜 때문일까..

JSP 로 작성된 프로그램은 서버로 요청시 서블릿(Servlet) 파일로 변환되어 JSP 태그를 분해하고 추출하여 다시 순수한 HTML 를 변환한다.

  1. 클라이언트가 어떤 동작을 함으로써 hello.jsp 를 요청하였다.

  2. JSP 컨테이너가 JSP 파일을 읽는다.

  3. JSP 컨테이너가 Generete (변환) 작업을 통해 Servlet ( .java ) 파일을 생성한다.

  4. .java 파일은 다시 .class 파일로 컴파일된다.

  5. Execute (실행) 을통해 HTML 파일을 생성하여 JSP 컨테이너 에게 전달한다.

  6. JSP 는 HTTP 프로토콜을 통해 HTML 페이지를 클라이언트 에게 전달한다.

참조

post-custom-banner

0개의 댓글