본문 바로가기

JSP

[인프런] 신입 프로그래머를 위한 실전 JSP 강좌 3강, 4강

이미지 출처: https://www.inflearn.com/

3강 JSP 맛보기

- jsp 문서 작성하기
- jsp 아키텍쳐


jsp의 특징
 - 동적 웹 어플리케이션 컴포넌트
 - jsp확장자
 - 클라이언트의 요청에 동적으로 작동하고, 응답은 html을 이용한다. -- html은 정적으로 작동함. jsp로 확장자로 문서를 만들어 클라이언트 브라우저에 실행되고, html코드가 남아 응답한다.
 - jsp는 서블릿으로 변환되어 실행한다.
 - mvc패턴에서 view로 이용된다.


홈페이지에서 request가 들어간다

controller(servlet)
 - 홈페이지에서 들어온 요청을 받아 모델로 보낸다
 - 모델에서 받은 정보를 다시 view로 보내 응답하도록 한다
model
 - 데이터베이스에서 데이터를 가져와 작업을 수행한다
 - 로직 수행도 모델에서 사용된다
 - 완성된 결과를 다시 컨트롤러로 보낸다
view(jsp)
 - 홈페이지 브라우저에 결과가 노출되도록 한다
 - 서버가 알아서 servlet으로 변환시켜준다
 - 작성은 jsp로 하지만 실제로는 html파일이다


Dynamic Web project를 만들고 xml파일까지 챙겨서 만들어 주기
프로젝트 생성 후 웹컨텐트에 jsp파일을 만들어 문서를 만들어 준다


jsp 아키텍쳐
 - .jsp 파일로 만들면 .java파일로 자동으로 변환되며, 그 후 컴파일러에 의해 .class파일로 바뀌어 저장된다.(어쩌구저쩌구_jsp.class) -> 컴퓨터에 저장되어 실행되는 파일은 .class파일임.





4강 servlet 맛보기  ! 서블릿은 java파일이다 

 - 서블릿 문서 작성하기
 - web.xml에 서블릿 맵핑
 - 어노테이션을 이용한 서블릿 맵핑

서블릿의 특징
 - 동적 웹어플리케이션 컴포넌트
 - 확장자 : java
 - 클라이언트의 요청에 동적으로 작동하고, 응답은 html이용
 - java thread를 이용하기 때문에 한번에 많은 요청이 들어와도 서버에 부하가 많이 걸리지 않는다
 - mvc패턴에서 controller로 이용된다

url mappings - 닉네임이라고 생각하면 좋다
웹 상에서 접근할 때 servlet의 이름 그대로가 아니라 지정한 url로 접근할 수 있도록 만드는 것


! 서블릿은 기본적으로 HttpServlet이라고 하는 클래스를 상속받는다
doGet메소드 - 실제로 실행되고 노출된다

! doGet이나 doPost에 내용이 없는 경우 출력해도 아무것도 출력되지 않는다.


Mapping이란?
 - 맵핑을 하지 않으면 경로가 너무 길고, 보안에 노출되어 있게 된다. 그래서 경로를 간단하게 맵핑한다.
 - servlet에 해당하는 부분을 하나의 닉네임으로 맵핑하게 될 경우 자세한 경로가 노출되지 않으므로 닉네임을 숨기면서도 접근할 수 있음
 - 맵핑 방식은 web.xml을 이용하거나, 어노테이션을 이용하는 방법이 있다.

< web.xml >
 - 태그를 이용하여 해당 서블릿에 임이의 이름을 지정하고( ㅇㅇㅇ)
 - 태그로 클래스 경로를 먼저 써 준다
 - 그리고 나서 서블릿 네임 ㅇㅇㅇ인 친구를 을 통해 해당 네임의 서블릿 경로를 맵핑 경로로 바꾸어 줄 수 있음. /로 시작해야 함

< 어노테이션 방식 >
 - 자바 코드 안에 @WebServlet("/맵핑명")을 이용하여 서블릿을 맵핑하는 방법

! 서블릿을 수정할 경우 새로 컴파일하기 위하여 다시 시작해 줘야 함