JSP 독학 (2) 환경 구성 상세 및 동적 서비스 개념 이해

productuidev·2023년 2월 14일
0

BE Study

목록 보기
7/9
post-thumbnail

JSP 독학 (2) 환경 구성 상세 및 동적 서비스 개념 이해

출처 - Youtube IT핥기!


5. 웹 서비스 필수 개념

  • 정적 서비스 : HTML, CSS, JS => 웹 페이지 (요청할 때마다 항상 동일한 결과가 응답)
  • 동적 서비스 : JSP, ASP, PHP 등 (정적 + 서버에 요청한 처리 결과물을 브라우저를 통해 응답)
  • HTTP Protocol 기반 요청(Request)과 응답(Response)
  • 네트워크 기본 지식 : IP, 도메인명, PORT
  • WAS (Web Application Server)
  • Front-End/Back-End

6. 환경구성 및 동적서비스 개념 잡기

(지난 시간보다 더 자세한 버전)

  • 이클립스 - 톰캣 연동 : Apache Tomcat 버전, JRE 버전 (웹 어플리케이션에서 사용하게 될 서버 등록)
  • 신규 JSP 예제 생성 : File - New - Dynamic Web Project (Target runtime)

  • Java Code가 만들어질 소스는 src 폴더 생성

  • Context root : 서버에서 서비스가 실행될 때 사용되는 최상위 경로
  • Content directory : 그 최상위 경로에 매칭되는 서비스할 폴더
  • Generate web.xml deployment descriptor : 톰캣이 동작할 때 기반이 되는 설정 파일(web.xml)을 생성할 것인지 (무조건 생성)

  • 프로젝트 생성 후 WebContent 하위에 예제 ex01.jsp 파일 생성하기

  • 현재 시간 확인 예제

동적 서비스 개념 이해하기

JAVA는 프로그램을 실행하고 main 함수 실행한다 (시작의 개념)
그에 반해 JSP는 HTTP를 기반으로 하는 웹 서비스를 만들 때 사용한다.
이 HTTP는 request/response로 이루어져 있다.
정적 리소스인 HTML은 요청하면 동일한 응답을 하지만,
동적 웹 서비스는 request와 response로만 동작한다.
JSP는 JAVA의 main 함수의 개념이 없다.
웹 서비스에서 시작이라는 개념은 서비스가 시작되느냐에 따라 다름.
만일 이 예제 내용을 실행하고 싶다는 개념이 필요하다면 프로젝트 최상위명인 context root을 우클릭하여
Run As - Run on Server 서버를 통해 실행할 수 있다. 다시 말해, 프로젝트 전체를 서버를 통해 구동시킬 수 있다

  • Run as Server : localhost:포트번호/Context Path
    빨간 log는 톰캣이 현재 실행중 (서버가 내 프로젝트를 가지고 서비스하고 있는 상태를 의미)

톰캣이 요청을 받아서 jsp의 내용을 처리한 결과가 클라이언트의 브라우저를 통해 보여짐
jsp에 작성한 내용은 컴파일된 상태이고, 새로고침하여 요청할 때마다 현재시간으로 갱신되어 다른 결과로 응답

강사 의견

Java부터 공부한 사람은 JSP의 개념이 어려울 수 있음
HTML 코드 안에 Java 코드 등이 뒤섞여 있음(복잡)
이것들을 톰캣을 통해 연동한 결과를 처리하고 있다는 것이 JSP 공부의 시작점

JSP 공부 준비

  • JDK 설치 (1.8)
  • Eclipse EE
  • Apache Tomcat 8.5
  • web.xml
    필수, 설정파일 용도, localhost 실행 시 default (설정 변경 시 톰캣에서 영향받음)

  • index.html 생성 후 localhost:8080 실행해보기

  • 예제2 : 서버에서 처리한 값 (새로고침하여 요청 시 응답받는 결과값이 랜덤으로 달라짐)


지난 시간에 대한 내용 상세.. 처음 설치/설정 잘못하면 생각보다 시간 잡아먹음..

대부분의 개발자들은 이 JSP를 싫어하나
Enterprise, B2B 환경에서는 대부분 JSP.. (를 걷어내는 추세지만)

기초웹개발 회사 업무협업을 위해서 공부하는데 대부분 레거시 왜 공부하지 할텐데.... 온고지신이라는 말이 있다.

옛것을 공부하는 이유가 바로 우리가 살아온 세상이
다 좋은 세상임을 깨닫기 위한 것이라는 의미입니다.
힘든 일도 고통스러운 일도 지나고 보면 다 좋은 일입니다.
그 당시에는 너무나 힘들었지만 말입니다.
그 사실을 알고 나면 세상을 보는 눈이 달라집니다.
다가오는 새로운 일도 기쁘게 받아들일 수 있습니다.
다 좋은 세상이니 안심하고 살게 됩니다.
그러고 보면 온고지신은 깨달음의 어휘입니다.

출처 : 재외동포신문(http://www.dongponews.net)

얼마 전 읽은 신문기사인지 책에 나온 구절인지 스쳐간 문구에서 상대방을 이해하려면 언어를 배워라 뭐 그런 게 있었는데(일종에 외국 문화를 이해하려면 외국어를 배워라와 같은 늬앙스) 특히 나처럼 퍼블리싱이나 프론트엔드 쪽만 한 사람이라면.. JSP나 Java 일부, 구동되는 근간이나 방식만 살짝 훑어도 왜 프론트엔드와 백엔드는 사뭇 다른지 알 수 있을 것이다... 가령 자바/노드라 한다면 자바와 노드의 차이, 동기와 비동기 차이, 멀티스레드와 싱글스레드 차이, 스프링과 리액트 이런 식의 큰 줄기로 차이점을 구글링해보면 협업 시 대략적인 개발 방식이나 업무 처리 성향 등을 이해할 수 있게 되는 것 같다. 😁😄

profile
필요한 내용을 공부하고 저장합니다.

0개의 댓글