getParameter() 과 getParameterValues를 주로 사용한다.
getParameterMap()
리턴 타입이 Map이다.
클라이언트(웹브라우저) 에서 서버로 파라미터 넘기기
1. GET 방식
[방법1] a 태그 이용
<a href="받을서버주소?이름1=값1&이름2=값2">내용</a>
[방법2] 버튼으로 전송
<button type="button"
onclick="javascript:location.href='받을서버주소?이름1=값1&이름2=값2';">보내기</button>
[방법3] 자바스크립트 이용
<script type="text/javascript">
function send() {
location.href='받을서버주소?이름1=값1&이름2=값2';
}
</script>
<button type="button" onclick="send();">보내기</button>
[방법4] form 태그 이용 - GET에서는 거의 사용 안함
form은 일반적으로 post 방식에서 사용
<form name="폼이름" action="받을서버주소" method="get">
<input type="text" name="이름1"><br>
<input type="text" name="이름2"><br>
<button>보내기</button>
</form>
POST 방식
[방법1] form 태그 이용
<button>, <button type="submit">, <input type="submit"...>, <input type="image"...>
submit 기능이 있는 submit 버튼을 사용하는 경우
: submit 버튼은 form 태그 안에 있어야 동작한다.
(1) 유효성 검사를 하지 않는 경우
<form name="폼이름" action="받을서버주소" method="post">
<input type="text" name="이름1"><br>
<input type="text" name="이름2"><br>
<button type="submit">등록하기</button>
</form>
<form name="폼이름" action="받을서버주소" method="post">
<input type="text" name="이름1"><br>
<input type="text" name="이름2"><br>
<input type="image" src="이미지주소">
</form>
(2) 유효성 검사를 하는 경우
<script type="text/javascript">
function check() {
var f=document.폼이름;
if(! f.이름1.value) {
return false; // 서버로 전송 안함
}
return true; // 서버로 전송
}
</script>
<form name="폼이름" action="받을서버주소" method="post" onsubmit="return check();">
<input type="text" name="이름1"><br>
<input type="text" name="이름2"><br>
<button type="submit">보내기</button>
</form>
(3) <button type="submit">, <input type="submit"...>, <input type="image"...>
등 submit 기능이 있는 submit 버튼은
자바스크립트에서 f.submit(); 처럼 submit() 함수를 호출하면 두번 서버로 전송되므로 주의 해야 한다.
방법2] form 태그 이용
: <button type="button">, <input type="button"...> 등
submit 기능이 없는 일반 버튼등을 사용하는 경우
(1) 사용 예
<script type="text/javascript">
function sendOk() {
var f=document.폼이름;
if(! f.이름1.value) {
return;
}
f.submit(); // 서버로 전송
}
</script>
<form name="폼이름" action="받을서버주소" method="post">
<input type="text" name="이름1"><br>
<input type="text" name="이름2"><br>
<button type="button" onclick="sendOk();">보내기</button>
</form>
(2) <button type="button">, <input type="button"...>, <select> 등의
서버로 전송할 수 있는 기능이 없는 객체를 이용하여 서버로 전송하기 위해소는 반드시
자바스크립트에서 f.submit(); 처럼 submit() 함수를 호출해야 서버로 전송된다.
---------------------------------------------------
※ 서버에서 클라이언트(웹브라우저) 가 넘긴 파라미터 받기 - 무조건 String으로 넘어온다.
방법1] 파라미터 이름이 동일한것이 없는 경우
String 변수 = request.getParameter("파라미터이름");
방법2] 파라미터 이름이 동일한것이 없는 경우 정수로 받기
int 변수 = Integer.parseInt(request.getParameter("파라미터이름"));
방법3] 파라미터 이름이 동일한것이 하나 이상인 경우
String []배열명 = request.getParameterValues("파라미터이름");
getParameter();
get, post 방식으로 넘어온 파라미터 받기
존재하지 않는 파라미는 null을 반환
입력 폼을 비어있는 칸으로 서버에 보냈다면, 보냈으니까 "" 로 감 . null이 아님!
String subject = request.getParameter("subject");
동일한 이름으로 파라미터를 전송한 경우 getParameter()는 펏 번째 파라미터를 받는다.
동일한 이름의 파라미터가 두 개 이상인 경우 반드시 getParameterValues()로 받는다.
checkbox의 경우, 선택한 것이 없으면 null을 반환한다.
getParmeterNames
getParameter() 과 getParameterValues를 주로 사용한다.
'💻Programming > JSP' 카테고리의 다른 글
[JSP] JSTL (0) | 2022.10.05 |
---|---|
[JSP] 표현언어 EL - EL 연산자/EL 내장객체 (1) | 2022.10.04 |
GET과 POST 차이점 (0) | 2022.09.28 |
[JSP] 04. Request Parameter - GET/POST (0) | 2022.09.27 |
[JSP] 03. JSP 기본문법 - 지시어/스크립팅/표현식 (0) | 2022.09.27 |