[JSP] ์ผํ๋ชฐ ์์
๐ ๋ก๊ทธ์ธ ํ์ด์ง
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>์ผํ๋ชฐ ์์ </title>
</head>
<body>
<h1>๋ก๊ทธ์ธ ํ์ด์ง</h1>
<form method="POST" action="test10.jsp">
ID <input type="text" name="mid" placeholder="ID๋ฅผ ์
๋ ฅํ์ธ์." required> <br><br>
<input type="submit" value="๋ก๊ทธ์ธ">
</form>
</body>
</html>
form ํ๊ทธ๋ฅผ ๋ณด๋ฉด ๋ฉ์๋๋ POST ์ก์ ์ test10.jsp๋ก ๋์ด์๋ค.
jsp๋ ์๋ฒ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ด๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ ์๋ฐ์ ์๋๋ฐ
์ฌ์ฉ์๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ ๋๋ formํ๊ทธ๋ฅผ ์ฌ์ฉํ๋ค.
๋๋ถ๋ถ form์์ method๋ POST๋ฅผ ์ฌ์ฉํ๋ค.
์์ฒญ ์ ๋ณด๋ request๋ผ๋ ๊ฐ์ฒด์ ์ ์ฅ๋๋ค. ํ๋ผ๋ฏธํฐ๋ฅผ ๋ฐ์์จ๋ค. (request.Parameter)
ID๋ง ์ ๋ ฅ์ ๋ฐ๋ ๋ก๊ทธ์ธ ์ฐฝ์ ๋์ด๋ค. required ์ฝ๋๊ฐ ์์ฑ๋์ด ์๊ธฐ ๋๋ฌธ์ ๋ฐ๋์ ์ ๋ ฅํด์ผ ํ๋ค.
์ ๋ ฅ์ ํ๊ณ ๋ก๊ทธ์ธ ๋ฒํผ์ ๋๋ฅธ๋ค๋ฉด test10.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>
<%
String mid=request.getParameter("mid");
session.setAttribute("mid", mid);
%>
<h1>์ํ๋ชฉ๋ก</h1>
<hr>
<%=session.getAttribute("mid")%>๋, ์๋
ํ์ธ์! :D
<hr>
<form action="test12.jsp" method="POST">
<select name="product">
<option>๋ฉ์ธ๋ณด๋</option>
<option>CPU</option>
<option>๊ทธ๋ํฝ์นด๋</option>
<option>๋จ</option>
<option>ํ์</option>
</select>
<input type="submit" value="์ฅ๋ฐ๊ตฌ๋์ ์ถ๊ฐ">
</form>
<hr>
<a href="test11.jsp">์ต์ข
๊ฒฐ์ ํ๊ธฐ</a>
</body>
</html>
๋ก๊ทธ์ธ ํ์ด์ง์ ์ฝ๋์ฒ๋ผ formํ๊ทธ๋ฅผ ์ฌ์ฉํ์ฌ ์ ๋ ฅ์ ๋ฐ๋๋ฐ ํ๊ทธ ์์ชฝ์ ๋ณด๋ฉด select ํ๊ทธ๊ฐ ์๋ค.
<select> ํ๊ทธ๋ HTML ์์(form)์์ ๋๋กญ๋ค์ด ๋ชฉ๋ก์ ๋ง๋ค ๋ ์ฌ์ฉ๋๋ ์์์ด๋ค.
์์ ์ฝ๋์์๋ ์ฅ๋ฐ๊ตฌ๋์ ์ถ๊ฐ ๋ฒํผ์ ๋๋ ์ ๋ ํด๋น ์ ํ์ด ์๋ฒ๋ก ์ ์ถ๋๋ค.
์ฅ๋ฐ๊ตฌ๋์ ํ๋๋ฅผ ๋ด๋๋ค๊ณ ํด์ ๋ฐ๋ก ๋ค์ ์ฐฝ์ผ๋ก ๋์ด๊ฐ๋ ๊ฒ์ด ์๋ ์ต์ข ๊ฒฐ์ ํ๊ธฐ ๋ฒํผ์ ๋๋ฌ์ผ ์ด๋ํ๋ค.
๐ก select ํ๊ทธ
- <select>: ๋๋กญ๋ค์ด ๋ชฉ๋ก์ ์์ฑํ๋๋ฐ ์ฌ์ฉ๋๋ ํ๊ทธ์ด๋ค.
- id ๋ฐ name: <select> ์์์ ๊ณ ์ ์๋ณ์ ๋ฐ ์๋ฒ๋ก ์ ์ก๋๋ ์ด๋ฆ์ด๋ค. id๋ CSS ์คํ์ผ๋ง์ด๋ JavaScript์์ ์์๋ฅผ ์ฐธ์กฐํ ๋ ์ฌ์ฉ๋๊ณ , name์ ์๋ฒ๋ก ์ ์ก๋๋ ์์ ๋ฐ์ดํฐ์ ์ด๋ฆ์ ๋ํ๋ธ๋ค.
- <option>: ๋๋กญ๋ค์ด ๋ชฉ๋ก ๋ด์์ ๊ฐ ํญ๋ชฉ์ ๋ํ๋ด๋ ํ๊ทธ์ด๋ค. value ์์ฑ์ ์๋ฒ๋ก ์ ์ก๋๋ ๊ฐ์ด๋ฉฐ, ํ๊ทธ ๋ด๋ถ์ ํ ์คํธ๋ ์ฌ์ฉ์์๊ฒ ํ์๋๋ ๋ด์ฉ์ด๋ค.
๐ ์ฅ๋ฐ๊ตฌ๋์ ์ํ ์ถ๊ฐ
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" import="java.util.ArrayList" %>
<% request.setCharacterEncoding("UTF-8"); %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>์ฅ๋ฐ๊ตฌ๋์ ์ํ์ ์ถ๊ฐ</title>
</head>
<body>
<%
ArrayList<String> cart=(ArrayList<String>)session.getAttribute("cart");
if(cart == null){ // ์ฒซ๊ตฌ๋งค๋ผ์ ์ฅ๋ฐ๊ตฌ๋๊ฐ ์์๋ค๋ฉด
cart=new ArrayList<String>();
session.setAttribute("cart",cart);
}
String product=request.getParameter("product");
cart.add(product);
%>
<script>
alert('<%=product%>์ด(๊ฐ) ์ถ๊ฐ๋์์ต๋๋ค! :D');
history.go(-1);
</script>
</body>
</html>
์ฅ๋ฐ๊ตฌ๋์ ์ํ๋ค์ ๋ฃ๋ ์ฝ๋์ด๋ค. ์ ๋ ฅํ๋ ๊ฐ์ ์ ์ฅํ๋ ๋ฐฉ์์ผ๋ก๋ session์ ์ ํํ๋ค.
๋ฐ๋ผ์ .getAttribute("๊ฐ ์ด๋ฆ") ์ผ๋ก ๊ฐ์ ๋ฐ์์๋ค.
๊ทธ ๋ค์ request ๊ฐ์ฒด๋ฅผ ํตํด ๋งค๊ฐ๋ณ์ product์ ๊ฐ์ ๊ฐ์ ธ์์ cart ๋ฐฐ์ด์ ์ถ๊ฐํ๋ค.
history.go(-1)์ ํ์ฌ ํ์ด์ง์ ์ด์ ํ์ด์ง๋ก ์ด๋ํ๋ผ๋ ๋ช ๋ น์ด๋ค.
์ฅ๋ฐ๊ตฌ๋์ ์ถ๊ฐ๋ฅผ ํ๋ค๋ฉด ์ด์ ํ์ด์ง๋ก ๋์๊ฐ๋ ๊ฒ์ด๋ค.
๐ ๊ฒฐ์ ํ์ด์ง
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" import="java.util.ArrayList" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>๊ฒฐ์ ํ์ด์ง</h1>
<%
ArrayList<String> cart=(ArrayList<String>)session.getAttribute("cart");
if(cart == null){
out.println("๊ฒฐ์ ํ ์ํ์ด ์์ต๋๋ค!");
}
else{
for(String data:cart){
out.println(data+"<br>");
}
}
%>
</body>
</html>
์ค์ ๊ฒฐ์ ๋ฅผ ๊ตฌํํ์ง๋ ์๊ณ ๊ฐ๋จํ๊ฒ ์ฅ๋ฐ๊ตฌ๋์ ์๋ ๋ฌผ๊ฑด์ ์ถ๋ ฅํ๋ ํ์๋ง ์ฌ์ฉํ๋ค.
์ฌ๊ธฐ์์๋ cart๋ผ๋ ๋ฐฐ์ด๋ฆฌ์คํธ๋ฅผ ๊ฐ์ ธ์์ ํ์ฉํ๋๋ฐ ๋ง์ฝ ๋ฐฐ์ด๋ฆฌ์คํธ๊ฐ ๋น์ด์๋ค๋ฉด
๊ฒฐ์ ํ ์ํ์ด ์๋ค๋ ๊ธ์ ์ถ๋ ฅ์ํจ๋ค.