<!-- 폼태그 3종 세트: form, name속성, submit 버튼 -->
<form method="get" action="/lesson01/quiz07">
GET과 POST의 차이점
Get method: request body가 비어있다.
- 브라우저 주소
- a 태그 클릭
- form 태그 method="get"
POST method: request body에 담겨서 보내진다.
- form태그 method ="post"
<div class="form-group">
<label for="address"> 주소 </label>
<input type="text" id="address" class="form-control" name="address" placeholder="주소를 입력하세요.">
</div>
한번에 묶어도 되지만 label로 글자만 감싼다음에 id로 묶어줬다.
label for = "address"와 input id = "address"를 동일하게 한다.
placeholder은 아래와같이 입력 전 문구가 뜨게 한다.
name은 내가 작성한 내용이 서버에 보내지려면 반드시 있어야한다.
name에 입력 되는 값은 request parameter 명이다.
form 태그 3종 세트중 두번째이다. id와 서버는 전혀 상관없다.
class에 'form-control'를 입력하면 block 속성을 가지고 있기 때문에 아래로 행이 떨어지고, 행이 전체를 차지한다. 모양도 훨씬 예쁘다.
<div class="form-group">
<label for="card"> 결제카드 </label>
<input type="text" id="card" class="form-control col-5" name="card" placeholder="결제카드를 입력하세요">
</div>
<div class="form-group">
<label for="price"> 가격 </label>
<input type="text" id="price" class="form-control col-5" name="price" placeholder="결제카드를 입력하세요">
</div>
col-
옆에 적절한 숫자를 적어 길이를 조정한다. 여기서는 col-5
를 사용했다.<input type="submit" value="주문하기" class="btn btn-primary"></input>
submit
btn-색깔
을 입력한다.primary
를 입력했다.다음은 서버에 입력된 내용이다.
// request param 꺼내기
String address = request.getParameter("address");
String card = request.getParameter("card");
int price = Integer.valueOf(request.getParameter("price"));
Integer.valueOf()
메소드를 이용해 int로 변환해준다.// 응답 HTML화면
PrintWriter out = response.getWriter();
out.print("<html><head><title>주문결과</title></head><body>");
<html>.......</html>
하나하나 적어줘야한다는 불편함이 있다. // 조건문
if (address.startsWith("서울시") == false) {
out.print("배달 불가 지역입니다.");
! address.startsWith("서울시")
로 써줘도 되지만 잘 안 보일 수 있으므로 address.startsWith("서울시") == false
라고 적는다. } else if (card.equals("신한카드")) {
out.print("결제 불가 카드 입니다.");
} else {
out.print(address);
out.print("<b> 배달준비중 </b><br>");
out.print("결제금액:" + price + "원");
}
out.print("</body></html>");
out.print("</body></html>");
닫는 것까지 수행되도록 if문이 끝나고 return;
은 입력하지않는다.
잘 보고 갑니다 ^_^