Spring

Spring_ WEB // 프로젝트 설정 및 톰캣 서버연결_22.07.05(day02)

양빵빵 2022. 7. 5. 16:37

 # 자바 웹 애플리케이션 : 애플리케이션의 서버가 자바로 이루어져있다.

 

 # 클라이언트 프로그램 - 웹 브라우저 [클라이언트 별도 필요x -> 웹에서 클라이언트 역할을 수행]

  

  1. 브라우저를 통해 어떤 화면(페이지)이 보여져야 한다.

  2. 해당 페이지를 통해 상호작용을 함.

 

  3. 상호작용의 결과 데이터가 서버로 전송.

     ex) 검색어를 입력하고 검색 버튼을 눌렀다면, 서버로 검색어를 포함한 일련의 정보들이 전송되어야 함.

 

 4. 서버프로그램에서는 해당 데이터를 처리하여 데이터베이스에 쿼리문 전송

 

 5. 결과를 다시 화면에 전송(네트워킹)

 

[현재 학습으로는 3번과 5번을 해결할수 없음.]

 

==========================================================================================

 

- 네트워킹

1.TCP통신 소켓연결 [ex) 핸드폰 구매 후 개통시 통신사에 전화번호를 받는등 회선을 받아야 함.] 

 

2. 데이터를 보낼 때 (request) 요청 양식에 맞게 작성해야 함.

 

[ex) 편지를 쓴다고 가정해보자. 내용을 적은 후 편지를 꾸겨서 우체국으로 던진다면 편지는 전송 되지 않는다.]

 - 수신인 주소 : 정확하게 / - 우편번호 : 정확하게 / - 우표 : 제대로 붙여야함. 등등 양식이 많다.

 

3. 데이터를 받을 때 (response) 도 응답 양식에 맞게 해석해서 받아야 함.

 

4. 연결해제

* 여러 명이 동시에 요청을 보내면?? 메인 메서드는 한개

동시에 여러 작업을 수행할 수 없음. - 멀티 스레드를 사용해야 함.

  -- 멀티스레드의 구성 등 알아야 할게 너무 많다.

 

/*******/

편지를 특정 친구 A한테 100통 보낸다.

편지의 양식이 일정부분 비슷할 것이다. 라고 가정

- 받는 사람 주소

- 우편번호  등등 공통적인 부분이 있을것이다 라고 생각을 함.

 

똑같은 내용 부분은 편지 봉투를 인쇄하자 라는 생각을 가지게 됨.

[1번 4번 공통처리 가능]

 

-> 위와 같은 생각으로 만들어진 것이 자바 서블릿 API 이다.

 

### 자바 서블릿 API : 네트워크 통신에서 공통 처리 부분을 자동화

 

### 서브 API를 컴파일해주는 WAS (웹애플리케이션서버) 프로그램이 등장

      - APACHE에서 만든 TOMCAT이라는 컴파일 프로그램.

 

### 위와같은 프로그램의 발전으로 개발자의 공수가 상당부분 줄어듬. 

--- 그런데 서블릿의 단점이 보이기 시작...

 

 

 

 

 

 

 

==========================================================================================

 

# port : 모든 프로세스(프로그램)는 하나의 로컬환경에서 실행될 때 포트라는 것을 부여 받습니다. (ex) - 방번호) 

 

8080은 누가 차지 하고 있을까?

 

범인은 오라클! http: 통신을 할때 쓰는 포트가 있는데 그 포트 번호가 8080 이라서

톰캣과 충돌.

 

이것을 해결하려면 톰캣이나 오라클 둘중에 하나의 포트 번호를 변경해야 한다.

 

 

메인 메서드 재실행.

 

서버가 돌아가고 있다.

 

서버는 열려있으나 보여줄게 없다

 

브라우저 접속은 아래와 같이 주소창에 입력.

 

localhost : 8181

or

127.0.0.1:8181

or

아이피주소 : 8181

서버를 끄면?

 

 

연결이 되지 않는다.