출처 - Youtube IT핥기!
- 정적 서비스 : HTML, CSS, JS => 웹 페이지 (요청할 때마다 항상 동일한 결과가 응답)
- 동적 서비스 : JSP, ASP, PHP 등 (정적 + 서버에 요청한 처리 결과물을 브라우저를 통해 응답)
- HTTP Protocol 기반 요청(Request)과 응답(Response)
- 네트워크 기본 지식 : IP, 도메인명, PORT
- WAS (Web Application Server)
- Front-End/Back-End
(지난 시간보다 더 자세한 버전)
- 이클립스 - 톰캣 연동 : 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 일부, 구동되는 근간이나 방식만 살짝 훑어도 왜 프론트엔드와 백엔드는 사뭇 다른지 알 수 있을 것이다... 가령 자바/노드라 한다면 자바와 노드의 차이, 동기와 비동기 차이, 멀티스레드와 싱글스레드 차이, 스프링과 리액트 이런 식의 큰 줄기로 차이점을 구글링해보면 협업 시 대략적인 개발 방식이나 업무 처리 성향 등을 이해할 수 있게 되는 것 같다. 😁😄