JSP 게시판 만들기 - 구현 (파라미터, 요청/응답)
모든 시스템이든 요청(request)과 응답(response)이 이루어진다. 클라이언트가 데이터와 함께 요청을 보내면 이 데이터는 파라미터에 해당된다. 이 파라미터를 서버에서는 받아 로직을 처리하고 클라이언트에게 응답을 보내야 한다. 모든 웹 프로그래밍 언어에서는 이러한 처리 로직은 기본이 되는 프로세스이다.
파라미터 전송 (GET과 POST방식)
서버에 파라미터를 보낼 때 보통 두가지 방법을 사용한다. GET 방식과 POST 방식에 해당하는 데 이 두 방식은 쓰임새가 다르다. 상황에 맞게 잘 사용해야 한다.
GET
- 서버에 전송할 데이터를 URL 뒤에 값을 붙여서 전송 한다.
- URL 끝에 "?" 로 시작하여 키"=" 값을 대입하여 이루어진다.
- 하나이상의 데이터를 전송할 때는 &를 구분진다.
- URL에 데이터가 노출되어 보안에 취약하고, 데이터의 양에 한계를 가져올 수 있다.
- 목록조회, 상세조회, 등록폼, 수정폼 등 무엇가를 보여주는 데 사용하는 방식이다.
- 이 전송하는 데이터를 Query String 이라고 한다.
POST
- 서버의 Headers 정보의 Form Data 에 담기어 전송 된다.
- 전송되어지는 데이터가 노출되어지지 않고, 데이터의 양에 한계가 없다.
- 데이터가 노출되어지지 않기 때문에 처리위주의 로직 (등록, 수정 등) 등에 사용하는 방식이다.
요청 URL에 대한 방식 구분
요청 URL | 요청 방식 |
boardList.jsp (목록조회, 검색조회 등) | GET 방식 |
boardView.jsp (상세조회) | GET 방식 |
boardWriteForm.jsp (등록 폼 조회) | GET 방식 |
boardModifyForm.jsp (수정 폼 조회) | GET 방식 |
boardProcess.jsp (등록, 수정, 삭제 처리) | POST 방식 |
※ GET 방식은 URL에 데이터가 존재하기때문에 즐겨찾기가 가능하다.
파라미터를 받아보자.
GET과 POST 방식으로 전달하는 데이터를 JSP내에서 어떻게 받는 지 알아보자. 요청에 의한 데이터들은 request 객체에 담기고, response 객체에 의해 응답을 처리 한다.
// GET 이든 POST 이든 받는 건 동일 하다. // getParameter(키) 메소드를 통해 키에 맞는 값을 얻을 수 있다. String subject = request.getParameter("subject"); // 요청을 보낸 사용자의 IP 주소 String ip = request.getRemoteAddr();
|
이렇게 많은 request에 정보들이 담겨있지만 우리는 파라미터 값과 IP 주소만을 얻어 데이터베이스 테이블에 저장할 뿐이다.
게시판 만들기의 파라미터 값 정리
게시판 만들기에서 전송되어지는 파라미터 값을 표로 정리했다.
파라미터 명 | 파라미터 설명 |
pageNum | 페이지 번호 |
searchType | 검색 항목 |
searchText | 검색어 |
mode | 처리로직의 구분 (W:등록, M:수정, D:삭제) |
subject | 제목 |
writer | 작성자 |
contents | 내용 |
num | 게시물 번호 |