11. JSP 예제1
EX1> 간단한 입력 폼을 만들고, 가입 시 파라미터 전달하기.
입력한 폼을 insert.jsp로 전송.
insert.html
: name 지정.
<!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=EUC-KR">
<title>Insert title here</title>
<style type="text/css">
#regbox{
width : 300px;
}
#regbox label{
display : block;
width: 100px;
float : left;
}
</style>
</head>
<body>
<form method="post" action="insert.jsp">
<fieldset id="regbox">
<legend>회원가입</legend>
<label for="id">아이디</label>
<input type="text" name="id"/><br/>
<label for="pwd">비밀번호</label>
<input type="password" name="pwd"/><br/>
<label for="email">이메일</label>
<input type="text" name="email"/><br/>
<label for="phone">전화번호</label>
<input type="text" name="phone"/><br/>
<input type="submit" value="가입">
<input type="reset" value="취소"/>
</fieldset>
</form>
</body>
</html>
insert.jsp
; getParameter로 받기.
; <%=변수 %>
<%=리턴값이 있는 메소드 %>
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!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=EUC-KR">
<title>Insert title here</title>
</head>
<body>
<%
String id = request.getParameter("id");
String pwd= request.getParameter("pwd");
String email=request.getParameter("email");
String phone=request.getParameter("phone");
%>
<h2>사용자가 전송한 정보</h2>
아이디:<%= id %><br/>
패스워드:<%= pwd %><%-- 와 같은 의미 --%><br/>
이메일:<%=email %></br>
전화번호:<%=phone %><br/>
</body>
</html>
EX2> multi 선택값(체크박스) 을 넘기고 받기
insert1.html
<!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=EUC-KR">
<title>Insert title here</title>
</head>
<body>
<form method='post' action="insert1.jsp">
아이디<input type="text" name="id"/><br/>
패스워드<input type="password" name="pwd"/><br/>
취미<br/>
<input type="checkbox" name="hobby" value="sleep" checked="checked">잠자기
<input type="checkbox" name="hobby" value="sing">노래하기
<input type="checkbox" name="hobby" value="game">게임하기
<br/>
연령대<br/>
<!-- radio는 name이 동일해야 그룹으로 묶인다. -->
<input type="radio" name="age" value="10" checked="checked"/>10대
<input type="radio" name="age" value="20" />20대
<input type="radio" name="age" value="30" />30대
<input type="radio" name="age" value="40" />40대
<input type="radio" name="age" value="50" />50대
<input type="radio" name="age" value="60" />60대이상
<br/>
기타하고싶은말<br/>
<textarea rows="5" cols="50" name="desc"></textarea>
<br/>
<input type="submit" value="전송"/>
<input type="reset" value="취소"/>
</form>
</body>
</html>
insert1.jsp
; getParameterValues : multi 선택값 배열로 받음.
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!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=EUC-KR">
<title>Insert title here</title>
</head>
<body>
<%
request.setCharacterEncoding("euc-kr");
//html에서 전송된 값들 얻어오기
String id=request.getParameter("id");
String pwd= request.getParameter("pwd");
//체크박스로 전송된 취미 얻어오기. 여러개 전송될수 있으므로 배열형태로 얻어옴.
String hobby[]=request.getParameterValues("hobby");
String age=request.getParameter("age");
String desc=request.getParameter("desc");
%>
<h2>전송된 정보</h2>
아이디:<%=id %><br/>
패스워드:<%=pwd %><br/>
취미:<%
for(int i=0;i<hobby.length;i++){
out.println(hobby[i] + " ");
}
%><br/>
나이:<%=age %><br/>
상세내역:<%=desc %><br/>
</body>
</html>
EX3> <%! %> 선언문 사용하기
test03.jsp
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!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=EUC-KR">
<title>test02.jsp</title>
</head>
<body>
<form method="post" action="add.jsp">
수1<input type="text" name="num1"/><br/>
수2<input type="text" name="num2"/><br/>
<input type="submit" value="전송하기"/>
</form>
</body>
</html>
add.jsp;
<%! %> 선언문
; 선언문으로 선언된 변수는 JSP파일이 웹컨테이너에 의해 컴파일될때 멤버변수로 인식된다.
JSP페이지 어느 위치에서도 변수 참조가 가능하다.
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!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=EUC-KR">
<title>add.jsp</title>
</head>
<body>
<%!
//선언문 ==> 멤버변수나 메소드정의시 사용.
public int sum(int x, int y){
return x + y;
}
%>
<%
String num1 = request.getParameter("num1");
String num2 = request.getParameter("num2");
int n1 = Integer.parseInt(num1);
int n2 = Integer.parseInt(num2);
int n3 = sum(n1,n2);
%>
<%=n3%>입니다.
</body>
</html>