-- Index --
1. jsp파일 바로 요청 해보기 | 2. 하나의 컨트롤러로 2가지 요청 처리 |
화면 보여달라는 요청 보내고 - 화면 보기 | 화면 요청은 - doGet() / 데이터처리 요청은 - doPost() |
1. 페이지 jsp 파일 바로 요청
1-1 회원가입 페이지인 - joinForm.jsp 파일 보여달라고 바로 요청해주자
- 회원가입 버튼 클릭하면 요청 보내도록 해주기
- < button onclick = " location.href = " 경로 " >
요청하는 게 클라이언트가 서버에게 요청하는 것으로 프로젝트 이름부터
이렇게 요청하면 회원가입 페이지가 보이긴 하지만
페이지에 요청 방식이 get 방식으로 요청을 보내는 것이기 때문에
페이지 URL에 내 파일의 경로가 다 노출된다
내 파일의 경로가 공개되는 것은 좋지 않다.
방법은? - servlet 만들어서 forward 하면된다.
1-2 회원가입 페이지를 보여주는 servlet을 통해서 파일 보여주도록 해주기
# 페이지 요청 경로 만들어주고
href=“ ” 요청은 url을 바꿔서 요청하는 것 – get방식으로 요청하는 것
controller = servlet
# 요청 처리하는 servlet을 통해 회원가입 jsp파일로 요청 떠 넘겨주기
- 반드시 doGet() 메서드를 재정의해서 요청 처리
# 이 컨트롤러는 / 서블릿은
- 클라이언트의 요청을 받아서 jsp파일로 요청을 떠넘기는 역할만 한다.
- 이렇게 번거롭게 하는 이유는? – 내 파일의 경로를 숨기기 위해서
- 이제 클라이언트가 ( 사용자가 )
- jsp파일을 직접 요청하는 일은 없을 것이다. controller를 통해서 요청하도록 할 것!
2. 하나의 Controller에서 2가지 요청 처리하기
2-1 컨트롤러가 요청을 처리하는 2가지 방식 체크
- 컨트롤러(서블릿) 에게 요청하는 방식은 2가지가 있다.
- url을 이용해서 header에 data를 담아서 요청하는 get방식과
- url과 data를 body에 담아서 요청하는 post방식
- 컨트롤러는 요청 방식에 맞춰서 doGet() / doPost() 메서드로 처리해준다.
- form태그 – ( input태그 name 지정 ) - get/post 선택가능
- URL 입력 ( a태그, 버튼 location 등 ) - get방식으로만 요청 가능
2-2 화면 요청은 doGet() - 백엔드 작업 요청은 doPost()
- 파일 경로를 숨기기 위한 단순한 화면 파일 요청은 doGet() 방식으로 jsp파일 연결해주어서 처리
- 실제 백엔드 작업이 필요한 데이터 처리 요청은 doPost() 방식으로 CRUD작업 처리
- /member/join 이라는 같은 요청을 보내도 –
- doPost() 와 doGet() 메서드로 다르게 처리된다.
- 이러면 같은 경로로 요청 보내도 처리되는 메서드가 다르므로 처리되는 내용이 다르다.
# 이렇게 처리 안 할 때에는 - 의미 없는 url 요청이 많이 생기고, controller 도 많았었다.
- 협업이나 프로젝트 구성에도 좋지 않다.
- 회원가입 화면 요청할 때 /member/join을 사용했다면
- 회원가입 데이터 처리할 때 /member/joinDB 이런 식으로 점점 더 복잡한 요청 해주어야 한다.
'Java 기반 클라우드 융합 개발자 과정 - KH 정보교육원 > 7월' 카테고리의 다른 글
22.07.29 - [ 세미프로젝트 ] 기획 발표 (0) | 2022.08.04 |
---|---|
22.07.27 - [ WAS ] 로그아웃 구현 , 알람 메시지 띄우기 (0) | 2022.08.04 |
22.07.26 - [ WAS ] MVC2 패턴 , JDBCTemplate부분, Propertise (0) | 2022.08.03 |
22.07.25 - [ WAS ] session, jsp내장객체 (0) | 2022.08.01 |
22.07.22 - [ WAS ] redirect(), 실습문제 (0) | 2022.08.01 |