본문 바로가기

WEB

tomcat, apatch 차이, 하는 일들/post,get / URL,URI/서블릿

아파치가 웹서버다 (정적)

톰켓은 웹 컨테이너컴파일이라고 생각할 수 있음. 1. 컴파일(서블릿) 2. html 변환 3. 응답 4. request, response 객체 만들어서 메모리에 띄워줌. 

이 객체에 뭐가 들어가 있는지 공부하는 것이 목표. 

request 정보가 들어있음.

 

예전에는 http 1.0이었는데 지금은 http 1.1임.

html 1.0 -> post, get

방식 2가지였다. (form 태그는 기본 get방식, method속성에 값으로 get/post)

지금은 아래 4가지.

html 1.1 -> post, put, delete, get+@ 나머지는 잘 안 씀.

클라이언트가 서버한테 요청을 함.

이 요청 방식이 4가지임 

1. get - select

2. post - insert (회원가입, 글쓰기......같은 새로운 레코드 추가하는 요청)

3. delete - update (회원 정보 수정시)

4. get - delete

 

-> CRUD

 

get방식은 URL, URI로 요청함. 

URL(Uniform Resource Locator) : 실제 파일을 찾아내는 방식 -> 실제 파일을 노출...

  예) http://ip주소:포트/컨텍스트 root/a.jsp

URI(JSP, 아파치, 톰캣 개념) : 식별자(주소)를 통해 특정 파일을 찾아냄 -> 실제 파일 노출 되지 않음. 보안상 유용!

  예) http://ip주소:포트/컨텍스트 root/user/1 식별자

 

 

HTML에 JAVA코드 추가 한거가 .jsp

 

.jsp파일을 클라이언트가 웹서버인 아파치에게 요청을 하면 자기가 할 수 없으니까

컨테이너로 던지고 이 컨테이너가 톰켓임!

이거를 톰켓이 Java컴파일 html 코드 아래와 같이 변환

 

a.jsp -> a_jsp.java(서블릿) -> a_jsp.class -> html

.html을 이제 응답하면 브라우저가 읽을 수 있다.

 

a.jsp -> a_jsp.java 이 부분은 서블릿으로 변환하는 과정임.

서블릿 : java파일에 html코드 넣는건데... 너무 머리아파서... 톰켓이 해줘서 좋음!

 

 

 

 

이런거는 프레임워크라서 이거 만든사람이 이렇게 만들어놨으니까 아래와 같이 알면 됨.

WebContent 안에 있지만 접근 안되는 폴더들

META-INF

WEB_INF

설정파일이나 라이브러리를 넣어둠

이 안에 들어갈 파일들은 정해져 있음

프로젝트에서 빌드패스 라이브러리

 

test.jsp 파일을 WebContent에 생성

<%@에 오류가 발생할 수 있다 그럴경우 밑에 방식처럼 빌드 패스를 함.

 

<%@ %> ->

 

 

여기서 설정을 안하면 아파치에 프로젝트가 올라가지 않는다.

 

서버 스타트 스탑 가능한 인터 페이스, workspace(jspwork)로 잡힌다.

 

 

우측 아래에 있는 아이콘으로 아파치톰켓을 Start하면 root파일(아파치톰캣의 기본폴더)을 웹서버로 만드는 것임.

여기여기!

 

서버가 동시에 실행되면 포트에 의해서 충돌 될 수 도 있기 때문에 이건 stop해주고!

 

 

JVM은 JRE이 필요하다.

JDK에 JRE가 포함되어 있음.

 

JDK 내부에 JRE는 개발자를 위한 거

JDK 외부에 JRE는 사용자를 위한 거

 

jsp->.java->.class 과정이 일어날때

class는 보관하고 html은 보관하지 않음

 

html은 정적이고 class 동적이기 때문이다.

 

<hr/> : 이렇게 닫아요!!!

태그가 하나짜리는 /로 닫아주는 습관

<br> : 닫는 태그 없어요!

 

 

bufferedwrite, print write

 

 

서버는 돌고 있으니까 재시작 안하고

해당 경로에서 새로고침

 

 



아파치 : 웹서버 (정적)

톰캣 : 웹컨테이너
- 컴파일(서블릿)
- HTML 변환
- 응답
- request, response (클라이언트에서 요청이 올 때 마다 두 객체가 새로 만들어짐 -기존에 있는 것을 추가정보만 추가하는 방법도 있음)

서블릿 : Java 파일 안에 HTML코드

JSP : HTML 파일 안에 Java
- 서블릿의 단점을 극복하기 위해서 나옴
- 서블릿 변환이 필요함

---------------------------------

---------------------------------

톰캣 - 웹 컨테이너, 컴파일러

java 컴파일 + html 코드로 변환

html을 따로 보관하고 jsp의 java코드 내용만 따로 빼서 컴파일하고 
jvm에서 실행한 후 결과를 다시 합친다.

a.jsp -> a_jsp.java -> 컴파일 -> a_jsp.class -> jvm -> html

html 파일은 정적이라 쓰고 버리기 때문에 temp파일 취급

class 파일은 실행할 때마다 값이 바뀌기 때문에 저장

--------------------------------