사용자 요청 처리를 위한 쿼리 문자열(Query String)

Yeppi's 개발 일기·2022년 5월 25일
0

Servlet&JSP

목록 보기
5/13
post-thumbnail
post-custom-banner

1. 쿼리 문자열

1) 쿼리 문자열 이란?

  • name=value
    사용자가 서버에 전송하는 정보의 형태
  • 전달되는 해당 데이터가 쿼리 문자열


2) 쿼리 문자열 규칙

  1. name=value 형식

  2. 여러 개 정보 전달은 엔드(&)로

  3. value 가 영문 or 숫자 타입 → 바로 전달
    한글이나 몇몇 특수 기호 → 16진수로 변환되어 전달

  4. 공백 → +

  5. get 방식일 떼 → message-body 가 딸려감



2. 요청 처리 메서드

1) 메서드 종류

  • 사용자가 입력한 정보를 추출하기 위해
    HttpServletRequest 객체가 제공하는 메소드를 사용해야 함

  • 각 메소드 안에는 파라미터 값이 들어감
    ex. name = “ ”

getQueryString()

  • ? 뒤에 전체 얻어낼때
  • 쓸일 없음

getParameter(String name)

  • 싱글 value
  • 하나의 값만 전달, 체크박스 외

getParameterValues(String name)

  • 멀티 value
  • 체크 박스인 경우

📌예시📌

@WebServlet("/insertUser.do") // XML 설정 대신
public class InsertUserServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
	
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// 반드시 사용자 입력정보를 추출하기 전에 인코딩 설정을 추가한다.
		request.setCharacterEncoding("UTF-8");		
		
		// 사용자 입력 정보 추출
		String id = request.getParameter("id"); // "id" 은  html 의 파라미터와 일치해야함
		String password = request.getParameter("password"); 
		String name = request.getParameter("name"); 
		String role = request.getParameter("role"); 
	}
}


2) 파라미터 설정

  • get 방식이면 데이터 노출⭕
  • post 방식이면 데이터 노출❌
    ex. <form action="insertUser.do" method="post">

각 방식에 대한 설명 및 예시는
Web 시리즈의 5번, Web 시리즈의 7번을 참고해주세요

profile
imaginative and free developer. 백엔드 / UX / DATA / 기획에 관심있지만 고양이는 없는 예비 개발자👋
post-custom-banner

0개의 댓글