[서블릿/JSP] 강의 정리 4 - redirection , do, Jasper, EL ${ }

별의개발자커비·2023년 8월 3일
0

JSP

목록 보기
31/31
post-thumbnail

33 - 서버에서 페이지 전환해주기(redirection)

결과를 갖고 redirection된 페이지로 가게 하는 것


34 - 동적인 페이지(서버 페이지)의 필요성

  • 그런 모양의 문서가 원래 있었던 것이 아니라 요청이 있었을 때 그런 모양으로 만들어지는 그런 문서 = 동적인 페이지

JSP 전 원시 코드

35 - 처음이자 마지막으로 동적인 페이지 서블릿으로 직접 만들기

36 - 계산기 서블릿 완성하기





37 - 쿠키 삭제하기

38 - GET과 POST에 특화된 서비스 함수


doget,post로 바로 가는 게 아니라 서비스 함수를 통해서 오버라이드로 간다는 거 알았으니까 없애도 doget,post만 써도 됨

이게 아래로 개선

39 - 계산기 프로그램 하나의 서블릿으로

합치기

40 - JSP 시작하기 (Jasper를 이용한 서블릿 프로그래밍)

Jasper

서블릿 코드를 만듦에 있어서 Jasper라는 도움자를 통해 만들 수 있었음.
그렇게, Jasper에게 일을 시키기 위해 만드는 도구가 = jsp 였음
근데, jsp를 잘못 만들면 코드 블럭이 복잡해짐
그렇다면, 어떻게 간단하게 만들 수 있을까?



  • 실제로는 여기 임시 배포 디렉토리에 있는 파일을 전송중인 것임
  • jasper의 아르바이트 작업장 같은 느깜

코드 블럭

: 이건 코드야 코드~ 출력하는 거 아니야!

41 - JSP의 코드 블록



과거에는..

이렇게 했는데 jsp 덕분에 <@% %>로 기본 세팅되네!

42 - JSP의 내장객체 간단히 알아보기

코드 블럭에서 사용할 수 있는 내장객체 모음




43 - JSP로 만드는 Hello 서블릿

출력을 utf-8로 하고 브라우저는 '아 문서가 urf-8'이구나 하는 것을 인식한다는 뜻

44 - 스파게티 코드를 만드는 JSP

코드를 나중에 수정할 때, 자바코드만 모아서 보기 어렵기때문에 어떤 블럭에서 오류가 났는지, 어느 코드들이 단일한 업무를 다루고 있는 건지 찾기 어려움

그래서, 스파게티 코드라고 부름

내가 관심이 있는 코드와 관심이 없는 코드가 섞여있는,
한 번 꼬이면 대책이 없는 코드

45 - JSP MVC model1

Jasper

서블릿 코드를 만듦에 있어서 Jasper라는 도움자를 통해 만들 수 있었음.
그렇게, Jasper에게 일을 시키기 위해 만드는 도구가 = jsp 였음
근데, jsp를 잘못 만들면 코드 블럭이 복잡해짐
그렇다면, 어떻게 간단하게 만들 수 있을까?

model1 방식

코드를 만들 때 블럭을 최소화하자
코드는 가능하면 위에다 몰아놓고 밑에는 가능하면 출력코드만 몰아넣기
업무로직을 찾을 때는 위의 코드 블럭을 찾고, 출력은 아래를 보게하기 위해서
그러려면 위, 아래를 연결하는 의미의 변수가 필요함 = model

  • 이전 → model1 방식으로 개선

mvc의 의미: model1 방식

46 - JSP MVC model1을 model2 방식으로

redirect vs forward

  • redirect: 현재 작업하던 내용과 상관없이 새로운 요청을 하는 것
  • forward: 현재 작업한 내용을 이어갈 수 있도록 뭔가를 공유하는 것
    • request: java에서 하던 일이 이어져서 jsp에서 하려면 result 변수가 넘겨져야하는데 그 때 사용되는 저장소가 바로 request
      = forward 관계에 있는 둘 사이에 공유할 수 있는 저장소
      -> application 저장소에 해당!

47 - EL(Expression Language)

mvc 방식을 만들 때 쉽게 꺼내쓸 수 있게하는 표기언어

48 - EL의 데이터 저장소

${ }이라는 EL을 통해 저 4개 저장 객체 어디서든 데이터를 뽑아낼 수 있음

  • 단, 우선순위는 page - request- session - application 순서로 찾음. 앞에서 찾으면 더 안 찾음

  • 그래서 scope를 주기도 함

  • 예) page 저장 객체에 해당하는 pageContext에서 뽑는 예시

  • header 정보는 이런 것들

49 - EL 연산자


52 - JDBC를 이용해 글 목록 구현하기

  • 과거에는 build path에 jar파일을 추가했지만

웹개발할 때에는, 톰캣으로 배포되서 실행되는 것

  • 따라서, jdbc 라이브러리를 포함시켜서 같이 배포될 수 있게 설정해야함
  • WEB-INF - lib 폴더에 jar 파일을 담아줘야함

54 - 자세한 페이지 MVC model1으로 변경하기 (=45)


55 - MVC model2 방식으로 변경하기

profile
비전공자 독학러. 일단 쌔린다. 개발 공부👊

0개의 댓글