2021.12.30(목)
🌿 JSP
🌱 post 방식 요청 및 응답 test
- 특징
- post 방식으로 요청하는 건 HTTP message의 body 영역에 데이터를 포함시켜서 요청 -> 사용자가 입력한 값/데이터가 url에 노출되지 않음 -> 보안 유지 가능 -> 로그인, 회원 가입 등의 경우 post 방식이 적합함
- body 영역은 전송하는 길이에 제약이 없음(더 정확하게 말하자면, 날아갈 수 있는 패키지의 길이는 제한이 있는 바, 여러 개로 쪼개서 보내고 붙임) -> 게시판 작성 등의 경우 post 방식이 적합함
- 즐겨찾기는 가능하나, 전달되는 데이터가 url에 노출되어있지 않음 -> 기존에 봤던 응답 화면(e.g. my page 등)을 볼 수는 없을 것임
- 최대 요청받는 시간(time out, 기다리는 시간, 제한시간)이 존재함 -> 요새는 연결 속도가 빨라서 이 이슈 거의 발생하지 않음
- Servlet 클래스: post 방식으로 요청했으면 doPost() 메서드가 호출되는데, 그 안에서 doGet()을 호출하는 바, doGet()에서 작업하면 됨
- 요청 처리 과정
- post 방식의 기본 encoding 설정은 ISO-8859-1이기 때문에, 값을 뽑기 전에 미리 UTF-8 방식으로 encoding 설정을 해야 함 →
request.setCharacterEncoding("UTF-8");
- 요청 시 전달된 값들을
request.getParameter()
또는request.getParameterValues()
로 값 뽑아내기 - 뽑은 값들을 service - DAO - DB로 넘겨서 요청 내용 처리
- 처리 결과에 따른 응답 페이지 ← JSP 이용해서 응답 페이지 만들기 + 응답을 JSP에 위임
JSP(Java Server Page): html 내에 Java 코드를 넣음 + 단, 그 JSP 응답 화면에서 필요로 하는 데이터를 request 객체에 담아서 Servlet으로부터 보내줘야 함 → 응답은 JSP가 함
3a) request에 attribute 영역이 있는데, key-value 세트로 묶어서 보낼 수 있음 → request.setAttribute(String "key 값", value(Object))
= JSP에서 사용할 수 있도록 request의 attribute 영역 값 세팅
3b) 현재 작업 중인 doGet() 메소드에서 응답 페이지 만드는 과정을 JSP에 위임 → 위임 시 필요한 객체 = RequestDispatcher
// 단계3b-1) request.getRequestDispatcher(jsp경로) -> 응답하고자 하는 view(JSP)를 선택하면서 객체 생성
RequestDispatcher view = request.getRequestDispatcher("view/responsePage.jsp");
// 단계3b-2) forward() 메소드 -> forwarding
view.forward(request, response);
🌿 Servlet vs JSP
🌱 Servlet 동작 방식
🌱 JSP 동작 방식
📗 homework: JavaScript 평가 준비
'back-end dev > server' 카테고리의 다른 글
[KH정보교육원] 64일차_회원 정보 수정 기능 구현 (0) | 2022.01.07 |
---|---|
[KH정보교육원] 62일차_로그인(마무리), 로그아웃, 회원 가입 기능 구현 (0) | 2022.01.05 |
[KH정보교육원] 61일차_서버 세팅, DB 연결, 로그인 기능 구현 (0) | 2022.01.04 |
[KH정보교육원] 60일차_JSP 소개, 표현법, 실습 (0) | 2022.01.01 |
[KH정보교육원] 57일차_서버 세팅, Servlet 개요(get 방식 요청) (2) | 2021.12.30 |