
ํ๋์ ํ์ด์ง[HTML] -> ๋ค๋ฅธ ํ์ด์ง[HTML]๋ก ๋๊ธฐ๋ 4๊ฐ์ง๋ฐฉ๋ฒ
Test1.
๐ป ์ ๋ ฅ
ํ๋ฉด1 : ์1/์2
ํ๋ฉด2 : ๋๊ฐ์ ๋ฐ์ดํฐ๊ฐ ๋์ด๊ฐ์ 10+20=30 ์ถ๋ ฅ
form action="hap_ok.jsp"
hap_ok ๋์ด๊ฐ๋ ํ์ผ์ action์ ์ ์ / (hap_ok.jsp)ํ์ผ์ ๋ฐ๋ก ๋ง๋ค์ด์ค์ผํจ
[method = "get"] ๋ฐฉ์
http://192.168.16.16:8080/study/jsp2/hap_ok.jsp?su1=10&su2=20

์ด๋ ๊ฒ ๋ฐ์ดํฐ ๋๊ธฐ๋๊ฒ get๋ฐฉ์
[๋
ธ์ถ๋๋ฏ๋ก - ๊ฒ์ ์ฌ์ฉ์ํํ
๊ฐ์ ๋ฐ์ ๋ ์ ์์]
[method = "post"] ๋ฐฉ์ 
์ด๋ ๊ฒ ๋ฐ์ดํฐ ๋๊ธฐ๋๊ฒ method๋ฐฉ์
[๋
ธ์ถ x - ๊ฐ์ ์จ๊น ]

request & response
โ html -> request ๋ฐ์ดํฐ ๋ด์์ -> ๋ค๋ฅธ html ํ์ด์ง๋ก ๋๊ฒจ์ค [์๋ฒ์ ํ๋ฒ ๋ค๋
์ด]
(์ด๋, request : ํ๋กํ ์ฝ http์์ ์์ ๊ทธ๋์ ๋ธ๋ผ์ฐ์ ์์ ์ฒ๋ฆฌํด์ค )
โก ์ด๋ฏธ ๋ฆฌํ์คํธ์ ๊ฐ์ ๋ด์๋จ๊ธฐ๋๋ฌธ์ get ์ผ๋ก ๋ถ๋ฌ์ด
โข dynamic Resource(servlet / jsp) -> response -> javascript
<a href="hap_ok.jsp?su1=100&su2=200&name=์ธ๋">Get๋ฐฉ์</a>
โญ
get๋ฐฉ์ \ post๋ฐฉ์
eng ใ
o
kor ใ x
post๋ฐฉ์์ ํ๊ธ๋ฒ์ ์ ๊นจ์ง


get๋ฐฉ์์ ํ๊ธ๋ฒ์ ์ ์๊นจ์ง


GET๋ฐฉ์์ผ๋ก ํ๊ธ๋ณด๋ผ๋ ์๊นจ์ง๋ ์ด์ ?
์นดํ๋ฆฌ๋ -> URIEncoding = "UTF-8" ํ๊ธฐ๋๋ฌธ์
POST๋ฐฉ์์ผ๋ก ํ๊ธ๋ณด๋ผ๋ ์๊นจ์ง๊ฒ ํ๋ ๋ฒ?
request์ ๋ด๊ฒจ์๋ ๋ชจ๋ ๋ฐ์ดํฐ ๊ฐ์
utf-8๋ก ๋ณ๊ฒฝํด์ค์ผํจ
String name (hap_ok)์์ ๊บผ๋ด๊ธฐ์ ์

1๋ฒ์งธ ๋ฐฉ๋ฒ
form์์(๋ณ์ ๋ฐ์ดํฐ ๊ฐ์ง๊ณ )์ผ๋ก ๋ณด๋ธ๊ฑด ๋ฐ์ HTML์์ getParameter๋ก ๋ฐ๋๋ค
์คํฌ๋ฆฝํธ์ myForm ์ธ๊ฑฐ๋ฉด ๊ทธ๊ฑธ ์ฐพ์๊ฐ์ผํ๋๊น
form์ name =myForm๊ทธ๋ ์จ์ฃผ๋ฉด๋จ
if(!f.su1.value){
alert("์1์ ์
๋ ฅํ์ธ์");
f.sul.focus();
}
์ ๋ ฅํ์ง์์์๋ f.sul.focus(); ๊ฑฐ๊ธฐ์ ์ปค์ ์ฌใน๋ ค๋๊ธฐ
์์ ์ ๊ฑฐ ํจ์ ์ฐ๋ ค๋ฉด submit -> button ์ผ๋ก ๋ณ๊ฒฝ
๊ทผ๋ฐ ์ด๋ฌ๋ฉด action์ ๋ค์ ์ฐพ์๊ฐ์ผํ๋๋ฐ
f.submit();์ ํจ์์ ์จ์ฃผ๋ฉด ๋จ
hap.jsp
<%@ page contentType="text/html; charset=UTF-8"%>
<%
String cp = request.getContextPath();
/*
MIME [Multipurpose Internet Mail Extensions]์ ์ข
๋ฅ
๋ฉ์ธ์ง์ ๋ด์ฉ์ด ์ด๋ค ํ์์ธ์ง ์๋ ค์ฃผ๊ธฐ์ํด ์ ์ํ ์ธํฐ๋ท ํ์ค
text/plain : ์ผ๋ฐ ํ
์คํธ๋ฌธ์
text/html : HTML ๋ฌธ์
text/css :CSS ๋ฌธ์
text/xml : XML ๋ฌธ์
image/jpeg,image/png : JPEGํ์ผ, PNGํ์ผ
video/mpeg,audio/mp3 : MPEG ๋น๋์คํ์ผ, MP3 ์์
ํ์ผ
application/zip : zip ์์ถํ์ผ
*/
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
function sendIt(){
var f = document.myForm;
if(!f.su1.value){
alert("์1์ ์
๋ ฅํ์ธ์");
f.su1.focus();
return;
}
if(!f.su2.value){
alert("์2์ ์
๋ ฅํ์ธ์");
f.su2.focus();
return;
}
if(!f.name.value){
alert("์ด๋ฆ์ ์
๋ ฅํ์ธ์");
f.name.focus();
return;
}
f.action = "<%=cp%>/jsp1/hap_ok.jsp"
f.submit();
}
</script>
</head>
<body>
<form action="" method="post" name = "myForm">
์1: <input type="text" name="su1"/><br/>
์2: <input type="text" name="su2"/><br/>
์ด๋ฆ: <input type="text" name="name"/><br/>
<input type="button" value="๊ฒฐ๊ณผ" onclick="sendIt();"/><br/>
</form>
<br/>
<br/>
<a href="hap_ok.jsp?su1=100&su2=200&name=์ธ๋">Get๋ฐฉ์</a>
</body>
</html>
hap_ok.jsp
<%@ page contentType="text/html; charset=UTF-8"%>
<%
request.setCharacterEncoding("UTF-8");
String cp = request.getContextPath();
String s1 = request.getParameter("su1");
String s2 = request.getParameter("su2");
String name = request.getParameter("name");
int su1 = Integer.parseInt(s1);
int su2 = Integer.parseInt(s2);
int sum = su1 + su2;
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%=cp %><br/>
๊ฒฐ๊ณผ: <%=su1 %>+<%=su2 %>=<%=sum %><br/>
์ด๋ฆ: <%=name %>
</body>
</html>
๐ ์ถ๋ ฅ



Function - ์ ๋ ฅ์ํ์ผ๋ฉด alert(๊ฒฝ๊ณ )๋ฉ์ธ์ง ๋์ฐ๊ธฐ



ํ์ผ์ด ๋ค๋ฅธ ๊ณณ์ ์์ ๋ ๊ฒฝ๋ก ์ ๋ ฅํด์ฃผ๊ธฐ


๊ณต๋ถํ ๋๋ง ์ฐ๋ ๋ฐฉ๋ฒ :
<script> String cp = request.getContextPath(); = ๋ด๊ฐ ๋ง๋ study๊น์ง์ ๊ฒฝ๋ก์ ๊ฐ์
๊ทธ๋์ <body> ๋ถ๋ถ์ <%=cp %>๋ก ์ถ๋ ฅํด์ฃผ๊ธฐ


[ํ๊ฒฝ์ค์ ] - [JSP Files] - [Templates] : ์์ ์ (๋ฉ์๋(GET)์ ์ํ) UTP-8 + ๊ฒฝ๋ก๋ฅผ ์ถ๊ฐํด๋๊ธฐ
- ๊ณ์ ์ฐ์ด๋ ๋ช ๋ น์ด๋ ์ฃผ์๊ฐ ์๋ค๋ฉด ํ ํ๋ฆฟ์ ์ ์ฅํด๋๊ธฐ!

Test2.
๐ป ์ ๋ ฅ
ํ๋ฉด1 : ๊ตฌ๊ตฌ๋จ
ํ๋ฉด2 : ๊ตฌ๊ตฌ๋จ_ok
gugudan.jsp
<%@ page contentType="text/html; charset=UTF-8"%>
<%
request.setCharacterEncoding("UTF-8");
String cp = request.getContextPath();
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="gugudan_ok.jsp" method="post">
๋จ: <input type="text" name="dan"/><br/>
<input type="submit" value="๊ฒฐ๊ณผ"><br/>
</form>
</body>
</html>
gugudan_ok.jsp
<%@page import="org.w3c.dom.Document"%>
<%@ page contentType="text/html; charset=UTF-8"%>
<%
request.setCharacterEncoding("UTF-8");
String cp = request.getContextPath();
//์ด๋ ๊ฒ ํ๋ฒ์ ์จ๋๋จ (๊ตฌ๊ตฌ๋จ ๋ง๋ค๊ธฐ)
int dan = Integer.parseInt(request.getParameter("dan"));
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
for(int i = 1; i<=9 ; i++){
String str = String.format("%d*%d=%d<br/>",dan,i,dan*i);
out.print(str);
//out.println(dan + "*" + i + " = " + (dan * i) + "<br>");
}
%>
</body>
</html>
๐ ์ถ๋ ฅ


Test3.
๐ป ์ ๋ ฅ
ํ๋ฉด1 : ํ์๊ฐ์
ํ๋ฉด2 : ํ์๊ฐ์
_ok
test1.jsp
<%@ page contentType="text/html; charset=UTF-8"%>
<%
request.setCharacterEncoding("UTF-8");
String cp = request.getContextPath();
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
//ํ์๊ฐ์
๋ง๋ค๊ธฐ
function sendIt() {
var f = document.myForm;
if(!f.id.value){
alert("์์ด๋๋ฅผ ์
๋ ฅํ์ธ์");
f.id.focus();
return;
}
if(!f.pwd.value){
alert("ํจ์ค์๋๋ฅผ ์
๋ ฅํ์ธ์");
f.pwd.focus();
return;
}
if(!f.chk.checked){
alert("์ฝ๊ด์ ๋์ํด์ฃผ์ธ์");
return;
}
alert("ํ์๊ฐ์
์ฑ๊ณต!");
f.submit();
}
function onlyNum() { //์ซ์ -> tel2 / tel3
if(event.keyCode < 48 || event.keyCode > 57){
event.returnValue = false; //์๋ฌด๋ฐ์ ๋ณด์ด์ง๋ง์๋ผ
}
}
function onlyHangul() { //ํ๊ธ -> ์ด๋ฆ
if(event.keyCode < 12592 || event.keyCode > 12687){
event.returnValue = false; //์๋ฌด๋ฐ์ ๋ณด์ด์ง๋ง์๋ผ
}
}
</script>
</head>
<body>
<form action="test1_ok.jsp" method="post" name="myForm">
์์ด๋: <input type="text" name="id"/><br/>
ํจ์ค์๋: <input type="password" name="pwd"/><br/>
์ด๋ฆ: <input type="text" name="name" onkeypress="onlyHangul();"/><br/>
์ฑ๋ณ: <input type="radio" name="gender"
checked="checked" value="๋จ์"/>๋จ์
<input type="radio" name="gender" value="์ฌ์"/>์ฌ์<br/>
์ ํ๋ฒํธ: <select name="tel1">
<option value="010">010</option>
<option value="011">011</option>
<option value="012">012</option>
</select>
<input type="text" name="tel2" onkeypress="onlyNum();"/>-
<input type="text" name="tel3" onkeypress="onlyNum();"><br/>
์ทจ๋ฏธ:<br/>
<select name="hobby" size="4" multiple="multiple">
<option value="๊ฒ์">๊ฒ์</option>
<option value="์ด๋">์ด๋</option>
<option value="์ํ">์ํ</option>
<option value="์์
">์์
</option>
</select><br/>
์ข์ํ๋ ์ฐ์์ธ<br/>
<input type="checkbox" name="enter" value="๋ฐฐ์์ง">๋ฐฐ์์ง<br/>
<input type="checkbox" name="enter" value="์ ์ธ๋">์ ์ธ๋<br/>
<input type="checkbox" name="enter" value="์ด์ด๋ด">์ด์ด๋ด<br/>
<input type="checkbox" name="enter" value="๋ฐ์ ํ">๋ฐ์ ํ<br/>
<input type="checkbox" name="enter" value="์์ด์ ">์์ด์ <br/>
๋์ ํ์ญ๋๊น? <input type="checkbox" name="chk" value="Y"/><br/>
๋ฉ๋ชจ: <br/>
<textarea rows="5" cols="20" name="memo"
style="resize: none;"></textarea><br/>
<input type="button" value="ํ์๊ฐ์
" onclick="sendIt();"/>
<input type="reset" value="๋ค์์
๋ ฅ"
onclick="document.myForm.id.focus();"/>
<input type="button" value="์ทจ์"
onclick="javascript:location.href='<%=cp%>';">
</form>
</body>
</html>
test1_ok.jsp
<%@ page contentType="text/html; charset=UTF-8"%>
<%
request.setCharacterEncoding("UTF-8");
String cp = request.getContextPath();
String id = request.getParameter("id");
String pwd = request.getParameter("pwd");
String name = request.getParameter("name");
String gender = request.getParameter("gender");
String tel1 = request.getParameter("tel1");
String tel2 = request.getParameter("tel2");
String tel3 = request.getParameter("tel3"); //์ผ๋ฐ ๋ณ์ : static์์ญ์ ์ ์ฅ๋์ง๋ง
String[] hobby = request.getParameterValues("hobby"); //๋ฐฐ์ด:๊ฐ์ฒด์์ฑ๋์ด์ผํ๋ฏ๋ก - ํด์์ฝ๋๋ก ๋ฐ์์ค
String[] enter = request.getParameterValues("enter");
String chk = request.getParameter("chk");
String memo = request.getParameter("memo");
memo = memo.replaceAll("\r\n","<br/>"); // ์ํฐ๋ฅผ web์ํฐ๋ก ๋ฐ๊ฟ์ฃผ๊ธฐ
String str1 ="";
if(hobby!=null){
for(String temp: hobby){
str1 += temp +" ";
}
}
String str2 ="";
if(enter!=null){
for(String temp: enter){
str2 += temp +" ";
}
}
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
์์ด๋: <%=id %><br/>
ํจ์ค์๋: <%=pwd %><br/>
์ด๋ฆ: <%=name %><br/>
์ฑ๋ณ: <%=gender %><br/>
์ ํ: <%=tel1 %>-<%=tel2 %>-<%=tel3 %><br/>
์ทจ๋ฏธ: <%=str1 %><br/>
์ข์ํ๋ ์ฐ์์ธ: <%=str2 %><br/>
๋์์ฌ๋ถ: <%=chk %><br/>
๋ฉ๋ชจ: <%=memo %><br/>
</body>
</html>
๐ ์ถ๋ ฅ




Test4.
๐ป ์ ๋ ฅ
ํ๋ฉด1 : add & remove
ํ๋ฉด2 : add & remove_ok
listTest.jsp
<%@ page contentType="text/html; charset=UTF-8"%>
<%
request.setCharacterEncoding("UTF-8");
String cp = request.getContextPath();
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<style type="text/css">
body {
font-size: 10pt;
}
.itemList{
font-size: 9pt;
width: 100pt;
}
.itemBtn{
font-size: 9pt;
color: rgb(0,0,0);
background-color: rgb(150,150,150);
width: 30pt;
}
.Btn{
font-size: 9pt;
color: rgb(0,0,0);
background-color: rgb(250,250,250);
}
</style>
<script type="text/javascript">
function itemAdd() {
var f = document.myForm;
var leftItem = f.leftItem;
leftItem[0] = new Option("๋ฐฐ์์ง","๋ฐฐ์์ง"); // ์
๋ ฅํtext : value๊ฐ
leftItem[1] = new Option("์ ์ธ๋","์ ์ธ๋");
leftItem[2] = new Option("์ด์ด๋ด","์ด์ด๋ด");
leftItem[3] = new Option("๋ฐ์ ํ","๋ฐ์ ํ");
leftItem[4] = new Option("์์ด์ ","์์ด์ ");
leftItem[5] = new Option("ํ์์ฌ","ํ์์ฌ");
leftItem[6] = new Option("์ ์งํ","์ ์งํ");
}
function itemMove(val) { //๋ฐฉํฅ
var f = document.myForm;
var source,target;
if(val=="left"){
source = f.rightItem;
target = f.leftItem;
}else{
source = f.leftItem;
target = f.rightItem;
}
var n, i;
n = target.length;
//alert(n); ๊ฐ์ด ๋ญ์ง ์
//alert(source.length);
for(i=source.length-1;i>=0;i--){
if(source.options[i].selected){
target[n++] = new Option(source.options[i].text,
source.options[i].value);
source[i] = null;
}
}
}
function sendIt() {
var f = document.myForm;
if(f.rightItem.length==0){
alert("์ชฝ์ง๋ฅผ ๋ณด๋ผ ์ฌ๋์ ์ ํํ์ธ์");
f.rightItem.focus();
return;
}
if(!f.msg.value){
alert("๋ฉ์ธ์ง๋ฅผ ์
๋ ฅํ์ธ์");
f.msg.focus();
return;
}
//๋ฐ๋์ฌ๋ ์๋ ์ ํ
for(var i=0;i<f.rightItem.length;i++){
f.rightItem[i].selected = true;
//f.rightItem.options[i].selected = true; selected์์ฑ์ true๋ก ๋ณ๊ฒฝ
}
f.submit();
}
</script>
</head>
<body onload="itemAdd();">
<form action="listTest_ok.jsp" method="post" name="myForm" >
<table border="0" style="font-size: 10pt;" align="center">
<tr align="center">
<td width="150">์ ์ฒด๋ฆฌ์คํธ</td>
<td width="70"> </td>
<td width="150">๋ฐ๋์ฌ๋</td>
</tr>
<tr align="center">
<td>
<select name="leftItem" multiple="multiple" size="7"
class="itemList">
</select>
</td>
<td width="70">
<input type="button" value=">" class="itemBtn" onclick="itemMove('right')"/><br/>
<input type="button" value="<" class="itemBtn" onclick="itemMove('left')"/><br/>
</td>
<td width="150">
<select name="rightItem" multiple="multiple" size="7"
class="itemList">
</select>
</td>
</tr>
<tr>
<td colspan="3">
<br/>๋ฉ์ธ์ง<br/>
<textarea rows="5" cols="52" name="msg"></textarea>
</td>
</tr>
<tr>
<td colspan="3" align="center">
<input type="button" value="์ชฝ์ง๋ณด๋ด๊ธฐ" class="Btn" onclick="sendIt()"/><br/>
</table>
</form>
</body>
</html>
listTest_ok.jsp
<%@ page contentType="text/html; charset=UTF-8"%>
<%
request.setCharacterEncoding("UTF-8");
String cp = request.getContextPath();
String msg = request.getParameter("msg");
String[] rightItem = request.getParameterValues("rightItem");
msg = msg.replaceAll("\n", "<br/>");
String str="";
if(rightItem!=null){
for(String temp: rightItem){
str += temp +" ";
}
}
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
๋ฐ๋์ฌ๋:<%=str %><br/>
๋ฉ์ธ์ง:<%=msg %><br/>
</body>
</html>
๐ ์ถ๋ ฅ
์ด๋ฐ
add & remove๋ง๋ค์ด๋ณผ๊ฑฐ์



