써블릿이 약하면 자바가 약한것
웹과 인터넷의 개요
인터넷
=> 컴퓨터가 서로 연결되어 TCP/IP 라는 통신 프로토콜을 이용하여 정보를 주고받는 전세계의 컴퓨터 네트워크
웹
=> 인터넷에 연결된 컴퓨터들을 통해 사람들이 정보를 공유할수 있는 정보 공간
월드 와이드 웹 의 줄임말
웹 서비스 확장하면 인터넷 서비스
웹 구조
client => 소프트웨어 컴퓨터, 노트북, 테블렛 등등 크롬 엣지
server => 웹 서비스를 제공하는 모든 기기와 소프트웨어 <리눅스, 유닉스 등등 >
client => 요청한다
server => 응답을 하는 서비스
웹 애플리케이션 : 웹 상에서 동작하는 프로그램
server side web application -> 서버가 있어야지 동작이 가능함 / 대부분 웹
client side web application -> 서버 없이 동작이 가능함 / 자바스크립트 4번째 신청자 등록하는 과제
웹 서버 : 웹에서 서버의 기능을 수행하는 프로그램
웹 애플리케이션 서버 (web application server WAS)
클라이언트의 요청 중 정적인 요소와 동적인 요소를 나눠서 서버의 부하를 줄여주는 기술이 적용된 서버
정적 그대로 유지 / 동적 바뀜
웹로직, 웹스피어, 제우스, 톰캣, 제이보스
우리는 톰캣을 사용할것이다.
servlet 컨테이너 : servlet 을 관리하는 프로그램
JSP 컨테이너 : JSP를 관리하는 프로그램
두가지를 활용해서 웹을 만든다
HTTP 프로토콜 (hyper text transfer protocol)
프로토콜 : 통신 규약 (약속)
정해진 규칙 안에서 클라이언트랑 서버랑 주고 받는다
TCP를 사용해 서버와 클라이언트가 통신(request response)하는 방식
<특징>
무연결 - 기억 못함 response 하고 나서 클라이언트가 누구인지 기억 못한다
무상태 - 무연결특징때문에 생김 상태를 모른다 // 상태를 별도로 저장해야한다 cookie, sesstion 을 사용하게된다
요청.응답 (request response)
cllient 요청 ----------------------> server
요청정보 (암기)
요청줄 ( 요청방식(method) , url, http 버전)
헤더 (name:content) 정해진 이름, 정해진 값이 있다.
몸통 부가적으로 보내야하는 데이터
요청방식(method) =>
1. get
get 방식으로 서버에 요청하는 방법
-> 브라우저의 주소 표시줄에 url을 직접 입력
-> a 태그의 href를 사용
->form 태그의 method를 GET방식으로 설정
get 방식으로 요청해야되는 상황
-> 데이터를 조회할때
get 방식으로 요청 할 때 클라이언트가 서버로 데이터를 보내야한다면 url의 마지막 ? 가 붙고 ? 뒤에 클라이언트가
서버로 보낼 데이터가 추가됨
2. post
post 방식으로 서버에 요청하는 방법
-> form태그에 method 속성을 post로 설정
-> Jquery의 ajax를 사용
-> postman 프로그램을 사용
post방식으로 요청해야되는 상황
-> 요청을 통해서 새로운 데이터를 생성할 때
-> 요청을 통해서 데이터를 수정할 때
-> 요청을 통해서 데이터를 삭제할 때
-> 클라이어트가 보내는 데이터 중 파일이 있을 경우
post방식으로 요청할때 클라이언트가 서버로 데이터를 보내야한다면
요청 정보의 body에 데이터가 추가됨
3. put
->요청을 통해서 데이터를 수정할때
4. DELETE
-> 요청을 통해서 데이터를 삭제할때
(1~4) 사용하는 것 : restfuk api
--
spring 적용하지 않으면 put, delete방식으로는 요청할 수 없음
servle, jps만 다루는 과정 중에는 get, post만 기억하면 됨
URL
-> 인터넷 상에 존재하는 것의 주소
프로토콜://서버주소:포트번호/경로
프로토콜 -> http / https 등등
서버주소 -> IPv4 주소 / 도메인 / 호스트 / ...
->IPv4 주소를 기준으로 설명 : 0 ~ 255 사이의 숫자 네 자리로 이루어진 주소
-> 도메인 기준으로 설명 : 문자로 이루어진 주소
도메인으로 구성됨 DNS
DNS ( Domain Name Service) -> IPv4 주속를 문자로 이루어진 주소(도메인)로 바꿔주는 서비스
/ 도메인으로 이루어진 주소를 IPv4주소로 바꿔주는 서비스
원래는 ipv4로 했다가 어려워서 도메인으로 주소가 입력될수 있게 바뀜 여기서 DNS를 사용하고
명령프롬프트 cbm 치고 nslookup naver.com 치면 아래 내용이 나옴
네이버의 원래 ipv4 주소 https://223.130.195.200 인데 DNS 를 사용해서 https://www.naver.com 으로 바뀌는것
포트번호
주소를 가진 곳으로 들어가는데 몇번 문으로 들어갈지 문 번호 지정
일반적 으로 80번 사용 컴퓨터가 자동으로 적혀서 들어가짐
경로
어떤 서비스를 이용할건지
URL 프로토콜://서버주소:포트번호/경로
URI 포트번호까지 생략하고 경로 부터
HTTP 버전 => 1.1 버전
헤더 (header)
name : value 이름, 값이 정해져있다.
헤더 종류 복습할때 보랭
몸통
호스트 방식으로 접근하면서 데이터를 보낼때 몸통부분에 데이터를 담아서 보낸다
cllient <---------------------- server 응답
server 응답 정보
상태줄 ( HTTP버전 / 상태코드 / 상태코드 설명)
(예시) HTTP/ 1.1 // 200 // ok
헤더(header) name:vlaue 정해진 이름, 정해진 값이 있다.
메세지 몸통(body)
상태코드
200,201,.... 200번대 의미있다 => 성공
300,301...... 300번대 의미가 있다 => 리다이렉션 ( 다른곳으로 이동할것을 지시 )
400,401.... 400번대 의미가 있다 => 요청오류 ( 잘못 요청, 요청 확인해봐라 )
500,501..... 500번대 의미가 있다 => 서버 오류 ( 서버에 심각한 문제가 있다)
몇번대에 무슨 의미가 있는지는 알아야함
100번대는 잘 사용안함
HTTP 상태 코드 - HTTP | MDN (mozilla.org)
위에 사이트 참조하기
주로 사용하는 상태코드
200(성공) : 서버가 요청을 제대로 처리했다
400(잘못된 요청) : 서버가 요청을 인식하지 못했음
404(Not Found 찾을수 없음) : 서버가 클라이언트가 요청한거 못찾음
500(서버에러) : 서버 프로그램에 문제가 생겨 ......
헤더
메세지 몸통 : 클라이언트에게 전달할 데이터를 담아서 준다
웹프로그램 개발하려면 자바, 이클립스, 톰캣 설치가 되어야한다.
부가적으로 자바 환경변수와 톰캣 환경변수를 설정해줘여함
톰캣 사이트 들어간다.
9버전 다운받고 압출 풀면 설치된거임
톰캣 환경변수
내피시 속성
고급시스템설정
들어가서 시스템 속성
환경변수 들어가서
java_home 없으면 새로 만들기 하면됨
자바는 일반적으로 내피시에 프그램어쩌구 자바 중에 하나 선택하기 높은 버전이 좋음
확인
CATALINA_home 이것도 없으면 새로 만들기 해서 추가하기
톰캣이 설치되어있는 네 피시에 톰캣 눌러서 확인하기
자바 프로그램 개발 순서
프로젝트 생성
패키지 추가
소스 파일
코드 입력
실행
웹 프로그램 개발 순서
- 웹 프로젝트 생성
- 패키지 추가
- 소스파일 추가
- 코드 입력
- 실행
다이나믹 웹 프로젝트
경로를 꼭 알아야함
next 누르고
내가 만드는 자바는 어디 코드에 있는지 확인하고
컨텐트 디렉토리(컨텍스트 디렉토리 / 루트 디렉토리)
-> 프로젝트 내 html, css, js, img 파일 등이 위치하는 경로
웹 프로젝트 안에서 자바코드가 위치해야할
html, css, js, img 는 webapp안에 있음
웹 프로젝트에 servlet 추가해서 웹 서비스를 만들고 서비스를 운영
일반적인 자바도 추가할수 있음
서블릿으로 만들면 굉장히 길꺼다 주석처리, 필요없는거 다 지우면
위에 사진처럼 남게되서 시작한다.
자바 프로그램은 실행시킬때 우클릭 -> run as - java application 클릭
웹 프로그램은 실행 시킬때
1. 웹 프로그램을 준비 시켜야한다. ( 서버를 만드는 것)
2. 클라이언트가 웹 프로그램 일명 서비스에 접근 해야함 ( 웹 프로그램이 실행되는것 )
servers 들어가서 오른쪽 마우스 add and remove를 누르고
내꺼를 add를 한다.
server 더블 클릭하면 80으로 되어있는지 확인
서버 스타트 눌러서 콘솔에 예외 서버만 안뜨면 시작한것 준비를 한것
2. 접근 하는 방법
http://localhost/web_2022-05-11/Ex02
서버를 하나 만들어본거임
- 기본 용어와 개념
- 개발 환경 구축
자바, 이클립스, 톰캣 설치
- 자바 톰캣 환경변수
- 간단한 웹 프로그램 (서비스) 개발
-> 웹 프로그램을 준비
=> 클라이언트가 웹 프로그램에 접금 -> 실행
자바는 요리사가 요리해서 지가 먹는것
웹 개발은 요리사가 손님들에게 제공하는것 가게를 연것
서블릿도 자바 패키지 먼저 만들기
'코딩 > java (백엔드공부)' 카테고리의 다른 글
cafe 24 가상서버 구매 후 ( java 17, tomcat, mariadb 설치 ) + spring boot 3 mybatis, swagger 까지 잘되는지 확인 (0) | 2024.07.14 |
---|---|
인터페이스 / 컬렉션 프레임웍 / arrayList LinkedList (0) | 2022.07.10 |
공부하는데 도움되는 사이트 모음 (계속 추가) (0) | 2022.05.09 |
java 복습 다형성 (0) | 2022.04.22 |
java 상속 복습 (오버로딩, 오버라이딩) / 수정하기 !! (0) | 2022.04.22 |