<aside>
๐ก ํ์ต ๋ชฉํ
1. **GET ์์ฒญ ๋ฐฉ์๊ณผ ์ ์ ์ปจํ
์ธ ์ ๊ฐ๋
๊ณผ ์ฌ์ฉ๋ฒ์ ์ดํดํ๋ค.**
2. **Form ํ๊ทธ๋ฅผ ์ฌ์ฉํ์ฌ POST ์์ฒญ์ ๋ณด๋ด๋ ๋ฐฉ๋ฒ์ ์ตํ๋ค.**
3. **POST ์์ฒญ์ ์ฒ๋ฆฌํ๋ ์๋ธ๋ฆฟ ํ์ผ์ ์์ฑํ ์ ์๋ค.**
</aside>
GET ์์ฒญ ๋ฐฉ์๊ณผ ์ ์ ์ปจํ ์ธ
- GET ์์ฒญ: ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ๋ก ๋ฐ์ดํฐ๋ฅผ ์์ฒญํ ๋ ์ฌ์ฉ๋๋ HTTP ์์ฒญ ๋ฐฉ์์ ๋๋ค. URL์ ํ๋ผ๋ฏธํฐ๋ฅผ ํฌํจํ์ฌ ์์ฒญํ ์ ์์ผ๋ฉฐ, ์ฃผ๋ก ์ ์ ์ปจํ ์ธ ๋ฅผ ์์ฒญํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
- ์ ์ ์ปจํ ์ธ : ์๋ฒ์์ ๋ณ๊ฒฝ๋์ง ์๋ ์ ์ ํ์ผ(HTML, CSS, JavaScript, ์ด๋ฏธ์ง ๋ฑ)์ ํด๋ผ์ด์ธํธ์ ์ ๊ณตํ๋ ๊ฒ์ ๋๋ค.
ํน์ง
- GET ์์ฒญ์ URL์ ๋ฐ์ดํฐ๋ฅผ ํฌํจํ์ฌ ์ ์กํฉ๋๋ค.
- ๋ธ๋ผ์ฐ์ ์ ์ฃผ์์ฐฝ์ ์ง์ ์ ๋ ฅํ๊ฑฐ๋ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ GET ์์ฒญ์ ๋ณด๋ผ ์ ์์ต๋๋ค.
- GET ์์ฒญ์ ์ฃผ๋ก ๋ฐ์ดํฐ๋ฅผ ์กฐํํ๊ฑฐ๋(๋์ ๋ฐ์ดํฐ) ์ ์ ๋ฆฌ์์ค๋ฅผ ์์ฒญํ ๋ ์ฌ์ฉ๋ฉ๋๋ค.
<a href="search.jsp?query=JSP">Search JSP</a>
Form ํ๊ทธ์ POST ์์ฒญ
๊ฐ๋
- Form ํ๊ทธ: ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ ๋ฐ์ดํฐ๋ฅผ ์๋ฒ๋ก ์ ์กํ๊ธฐ ์ํด ์ฌ์ฉํ๋ HTML ํ๊ทธ์ ๋๋ค.
- POST ์์ฒญ: ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์กํ ๋ ์ฌ์ฉ๋๋ HTTP ์์ฒญ ๋ฐฉ์์ ๋๋ค. ํผ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ผ ๋ ์ฃผ๋ก ์ฌ์ฉ๋ฉ๋๋ค.
- GET ์์ฒญ: ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ์์ฒญํ ๋ ์ฌ์ฉ๋๋ HTTP ์์ฒญ ๋ฐฉ์์ ๋๋ค. ์ฃผ๋ก ์กฐํ ์์ ์ ์ฌ์ฉ๋ฉ๋๋ค.
ํน์ง
- POST ์์ฒญ:
- URL์ ๋ฐ์ดํฐ๋ฅผ ํฌํจํ์ง ์๊ณ , ์์ฒญ ๋ณธ๋ฌธ(HTTP ๋ฉ์ธ์ง)์ ๋ฐ์ดํฐ๋ฅผ ํฌํจํ์ฌ ์ ์กํฉ๋๋ค.
- ํผ ํ๊ทธ๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์ ์ ๋ ฅ ๋ฐ์ดํฐ๋ฅผ ์๋ฒ๋ก ์ ์กํ ์ ์์ต๋๋ค.
- ์ฃผ๋ก ๋ฐ์ดํฐ์ ์์ฑ, ์์ , ์ญ์ ์ ๊ฐ์ ์์ ์ ์ํํ ๋ ์ฌ์ฉ๋ฉ๋๋ค.
- ๋ณด์ ์ธก๋ฉด์์ GET ์์ฒญ๋ณด๋ค ์์ ํฉ๋๋ค, ํนํ ๋ฏผ๊ฐํ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ ๋.
- GET ์์ฒญ:
- URL์ ๋ฐ์ดํฐ๋ฅผ ํฌํจํ์ฌ ์ ์กํฉ๋๋ค.
- ๋ธ๋ผ์ฐ์ ์ ์ฃผ์์ฐฝ์ ์ง์ ์ ๋ ฅํ๊ฑฐ๋ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ GET ์์ฒญ์ ๋ณด๋ผ ์ ์์ต๋๋ค.
- ์ฃผ๋ก ๋ฐ์ดํฐ ์กฐํ ์์ ์ ์ํํ ๋ ์ฌ์ฉ๋ฉ๋๋ค.
- URL์ ๋ฐ์ดํฐ๊ฐ ํฌํจ๋๊ธฐ ๋๋ฌธ์, ์ค์ํ ์ ๋ณด๋ฅผ ์ ์กํ๋ ๋ฐ๋ ์ ํฉํ์ง ์์ต๋๋ค.
์๋๋ฆฌ์ค ์ฝ๋ 1
class_jsp_v04 ํด๋
index.jsp
result.jsp
css / styless.css
image / favicon.png

styless.css
@charset "UTF-8";
body {
background-color: #f4f4f4;
margin: 0;
padding: 0;
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
}
.container {
background-color: #fff;
padding: 20px;
border-radius: 8px;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
width: 100%;
max-width: 400px;
display: flex;
flex-direction: column;
align-items: center;
}
h2 {
margin-bottom: 20px;
}
form>label {
display: inline-block;
margin-bottom: 15px;
}
index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<link rel="stylesheet" type="text/css" href="css/styless.css">
<link rel="icon" href="image/favicon.png" type="image/x-icon">
</head>
<body>
<div class="container">
<h2>ํผ ์์ </h2>
<form action="result.jsp" method="POST">
<label for="username">Username: </label>
<input type="text" id="username" name="username" value="์ผ์ค์ค">
<br> <br>
<label>์ทจ๋ฏธ๋ฅผ ์ ํํ์ธ์</label> <br>
<input type="checkbox" id="bobby1" name="hobbies" value="์ถ๊ตฌ">
<label for="bobby1">์ถ๊ตฌ</label> <br>
<input type="checkbox" id="bobby2" name="hobbies" value="๋๊ตฌ">
<label for="bobby2">๋๊ตฌ</label> <br>
<input type="checkbox" id="bobby3" name="hobbies" value="๋
์">
<label for="bobby3">๋
์</label> <br>
<input type="checkbox" id="bobby4" name="hobbies" value="์ฝ๋ฉ">
<label for="bobby4">์ฝ๋ฉ</label> <br>
<button type="submit">์ ์ถ</button>
</form>
</div>
</body>
</html>
result.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>ํผ ์ ์ถ ๊ฒฐ๊ณผ ํ์ธ ํ์ด์ง</h1>
<%
String username = request.getParameter("username");
String[] hobbies = request.getParameterValues("hobbies");
out.print("xxxx " + hobbies.length);
out.print("์ด๋ฆ " + username);
%>
</body>
</html>


result.jsp
<%@page import="org.apache.jasper.tagplugins.jstl.core.ForEach"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>ํผ ์ ์ถ ๊ฒฐ๊ณผ ํ์ธ ํ์ด์ง</h1>
<%
String username = request.getParameter("username");
String[] hobbies = request.getParameterValues("hobbies");
String faColor = request.getParameter("favoriteColor");
// out.print("xxxx " + hobbies.length);
// out.print("์ด๋ฆ " + username);
%>
<p>Username : <%= username %> </p>
<%
if(hobbies != null) {
%>
<!-- html ์์ญ -->
<p>Hobbies : </p>
<ul>
<% for(String bobby : hobbies) { %>
<li><%= bobby %></li>
<%} %>
</ul>
<%} else {%>
<!-- HTML ์์ญ -->
<p>์ ํ๋ ์ทจ๋ฏธ๊ฐ ์์ต๋๋ค.</p>
<%
}
%>
<ul>
<li></li>
<li></li>
</ul>
<p> color : <%= faColor != null ? faColor : "์ ํํ ์์์ด ์๋ค์" %>
</body>
</html>

