[JSP] sum, form, checkbox, select
sum
-JSP는 JAVA에서 사용하던 거의 모든 문법이 똑같이 사용됨
-JSP 명령들 사이에 HTML 같은 요소들이 껴들어야 한다면 JSP 영역을 끝내고 해당 내용을 기술한 후 다시 JSP 영역을 시작시킴
-한 페이지 안에서 JSP 명령은 중간에 영역이 끝나고 다시 시작해도 한 프로그램처럼 이어짐
<body>
<%
int sum=0;
for(int i=1; i<=100; i++){
sum+=i;
}
%>
<h2>1부터 100까지의 합계: <%= sum %></h2>
<%
sum=0;
for(int i=1; i<=1000; i++){
sum+=i;
}
%>
<h2>1부터 1000까지의 합계: <%= sum %></h2>
</body>
form
-웹페이지, 웹프로그래밍에서는 회원가입, 로그인, 게시판게시글 작성 등의 내용을 하나의 작업단위로 하여 작업당 하나의 form에 할당하여 운영함. 여기서 적업이란 클리 한번에 처리될 수 있는 작업을 말함.
-form의 첫번재 기능은 그 작업의 경계선을 제공
-name: 스크립트에서 다른 것들과 구분하여 명명하기 위한 이름으로 사용. id가 css에서 구분하기 위한 일이었다면 name은 주로 DOM에서 구분하기 위한 이름이라고 보면됨
-action: 입력란 선택란에 입력하고 선택한 내용이 서버에 전달되고, 페이지가 이동할 대상 파일
-method: 전달 방식을 의미하며, get은 일반전송 방식, post는 비공개 전달 방식 사용
<body>
<form name="joinForm" action="03_Action_to.jsp" method="get">
<laber for="name"> 이름 </laber><span style="color:red;"> * </span>
<input type="text" id="name" name="name" value=""><br>
<laber for="id"> 아이디 </laber><span style="color:red;"> * </span>
<input type="text" id="id" name="id" value=""><br>
<laber for="pwd"> 비밀번호 </laber><span style="color:red;"> * </span>
<input type="text" id="pwd" name="pwd" value=""><br>
<laber for="pwd_re"> 비밀번호 확인 </laber><span style="color:red;"> * </span>
<input type="text" id="pwd_re" name="pwd_re" value=""><br>
<input type="submit" value="회원가입">
<input type="reset" value="다시작성">
</form>
</body>
-form method="get"일 경우 주소: http://localhost:8090/WEB07_JSP_SERVLET/01/03_Action_to.jsp?name=Gildong%id=hong%pwd=1234&pwd_re=1234
-form method="post"일 경우 주소: http://localhost:8090/WEB07_JSP_SERVLET/01/03_Action_to.jsp
-03_Action_to.jsp(위 코드의 저장 파일명)는 최종 이동할 페이지 이름이며, 그 뒤 ? 이후의 내용은 name=value로 구성되어 서버로 전송된 입력 데이터들. (post 방식은 이들을 노출하지 않음)
-주소 내에 포함된 value 중 한글은 인코딩 방식에 따라 %16진수값으로 표시될 수 있음
<body><!-- 아래는 서버에서 실행되어 HTML5로 구성될 내용들임 -->
<%
// getParameter로 받는 모든 데이터는 String 데이터로 받을 수 있음
String name=request.getParameter("name");
// "name": form 내부에 있던 입력란의 name 값
String id=request.getParameter("id");
// "id": form 내부에 있던 해당 입력란의 name 값
String pwd=request.getParameter("pwd");
String pwd_re=request.getParameter("pwd_re");
%>
<h3>
성명: <%=name %><br>
아이디: <%=id %><br>
비밀번호: <%=pwd %><br>
비밀번호 확인: <%=pwd_re %><br>
</h3>
</body>
checkbox
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>04_Checkbox.jsp</title>
</head>
<body>
<h2>악세사리</h2>
관심항목을 선택
<hr>
<form method="get" action="04_Checkbox_to.jsp">
<input type="checkbox" name="item" value="shoes"> 신발
<input type="checkbox" name="item" value="bag"> 가방
<input type="checkbox" name="item" value="belt"> 밸트
<br>
<input type="checkbox" name="item" value="cap"> 모자
<input type="checkbox" name="item" value="watch"> 시계
<input type="checkbox" name="item" value="diamond"> 쥬얼리
<input type="submit" value="전송">
</form>
</body>
</html>
배열을 이용
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>04_Checkbox_to.jsp</title>
</head>
<body>
<%
String [] item=request.getParameterValues("item");
%>
<%
if(item==null){
%>
<h3>선택한 항목 없음</h3>
<%
} else {
%>
<h3>선택한 항목</h3>
<%
for(String it:item){
%>
<%=it %>
<%
}
}
%>
</body>
</html>
select
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>05_Select.jsp</title>
</head>
<body>
<form method="get" action="05_Select_to.jsp">
<label for="job">직업</label>
<select id="job" name="job" size="1">
<option value="">선택</option>
<option value="학생">학생</option>
<option value="컴퓨터/인터넷">컴퓨터/인터넷</option>
<option value="언론">언론</option>
<option value="공무원 ">공무원</option>
<option value="군인">군인</option>
<option value="서비스업">서비스업</option>
</select><br><br>
<label for="interest" style="float:left;">관심분야</label><br>
<select id="interest" name="interest" size="5" multiple="multiple">
<option value="에스프레소">에스프레소</option>
<option value="로스팅">로스팅</option>
<option value="생두">생두</option>
<option value="원두">원두</option>
<option value="핸드드립">핸드드립</option>
</select><br><br>
<input type="submit" value="전송">
</form>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>05_Select_to.jsp</title>
</head>
<body>
<%
String job=request.getParameter("job");
String interests [] = request.getParameterValues("interest");
%>
<h1>선택한 직업: <%=job %></h1>
<br>
<h1>선택한 관심분야</h1>
<h2>
<%
if(interests==null) out.print("선택한 항목 없음");
else {
for(String interest:interests){
%>
<%=interest %>
<%
}
}
%>
</h2>
</body>
</html>