728x90
요청 파라미터를 사용하기 위해서 request 객체를 사용합니다.
우선적으로 인코딩과 디코딩의 기본 개념에 대해서 알아보겠습니다.
인코딩을 이용해서 문서를 저장한 후 인코딩 때 사용했던 코드를 사용해서 디코딩 해야 원래의 문서로 추출이 됩니다.
JSP에서의 인코딩과 디코딩
| 대상 | 인코딩 코드 지정 | 디코딩 코드 지정 |
| JSP 페이지 | JSP 페이지 작성시 편집기에서 지정 | page 디렉티브의 pageEncoding 속성으로 지정 |
| JSP가 생성하는 HTML 문서 | page 디렉티브의 contentType 속성으로 지정 | 브라우저가 응답 데이터의 헤더 정보를 사용하여 자동 지정 |
| 요청 파라미터 | 브라우저의 요청 장소 및 요청 방식에 따라 자동 지정 | JSP 페이지에서의 request 객체를 사용하여 지정 |
| 페이지 파라미터 | 전잘하는 페이지에서 request 객체를 사용하여 지정 | 전달받는 페이지에서는 동일 reuqest 객체를 사용하기 때문에 별도의 지정이 필요하지 않음 |
이 처럼 인코딩과 디코딩은 매우 중요한 역할을 하며 대부분 utf-8 코드로 통일되어 사용하고 있습니다.
요청파라미터의 사용
<%-- 인코딩 설정 --%>
<%@ page contentType = "text/html; charset=utf-8"%> <html>
<head><title>폼 페이지</title></head>
<body>
<form action="/chap03/readParameter.jsp" method="post">
이름: <input type="text" name="name" size="10"> <br>
학번: <input type="text" name="id" size="20"> <br>
수강 교과목:
<input type="checkbox" name="subject" value="java">자바
<input type="checkbox" name="subject" value="JSP">JSP
<input type="checkbox" name="subject" value="Spring">스프링
<br>
<%-- form 엘리먼트에 포함되는 input 엘리먼트들을 요청 파라미터로 만들어 --%>
<%-- 일괄적으로 action 페이지에 전달한다. --%>
<input type="submit" value="입력완료">
</form>
</body>
</html>

<%@ page language="java" contentType="text/html; charset=utf-8" %>
<%@ page import = "java.util.Enumeration" %>
<%@ page import = "java.util.Map" %>
<%
request.setCharacterEncoding("utf-8");
%>
<html>
<head><title>요청 파라미터 읽기 </title></head>
<body>
request.getParameter() 메서드 사용 <br>
이름 파라미터 = <%= request.getParameter("name") %><br>
학번 파라미터 = <%= request.getParameter("id") %>
<p>
request.getParameterValues() 메서드 사용 <br>
<%
String[] values = request.getParameterValues("subject");
if(values != null){
for (int i = 0 ; i< values.length; i++){
%>
<%= values[i] %> <br>
<%
}
}
%>
<p>
request.getParameterNames() 메서드 사용<br>
<%
Enumeration paramEnum = request.getParameterNames();
while(paramEnum.hasMoreElements()){
String name = (String)paramEnum.nextElement();
%>
<%= name %><br>
<%
}
%>
<p>
request.getParameterMap() 메서드 사용 <br>
<%
Map parametermap = request.getParameterMap();
String[] subjectParam = (String[])parametermap.get("subject");
if(subjectParam != null){
%>
수강 교과목 1 : <%= subjectParam[0] %> <br>
<%
}
%>
</body>
</html>

| 파라미터 읽기 주요 메서드 | 반환 타입 | 기능 |
| getParameters(String) | String | 매개변수로 지정한 파라미터의 값을 구한다. |
| getParameterValues(String) | String[] | 매개변수로 지정한 파라미터의 모든 값을 구한다. |
| getParameterNames() | Enumeration | 파라미터의 이름 목록을 구한다. |
| getParameterMap() | Map | <파라미터 이름, 파라미터 값>으로 구성되는 Map을 구한다. |
'학습(구) > JSP' 카테고리의 다른 글
| form페이지와 action 페이지 (0) | 2020.09.03 |
|---|---|
| 페이지 출력 (0) | 2020.08.31 |
| JSP페이지의 입력 (0) | 2020.07.29 |
| JSP 페이지 구성 요소 (0) | 2020.07.24 |
| JSP 페이지의 기본 개념 (0) | 2020.07.24 |