JSP

 

 

 

SQL 테이블 생성

CREATE TABLE SYSTEM.MEMBER
(
  ID     VARCHAR2(20),
  PASS1  VARCHAR2(20),
  EMAIL  VARCHAR2(50),
  TEL    VARCHAR2(20),
  HOBBY  VARCHAR2(60),
  JOB    VARCHAR2(15),
  AGE    VARCHAR2(10),
  INFO   VARCHAR2(500)
);


ALTER TABLE SYSTEM.MEMBER ADD (
  CONSTRAINT MEMBER_PK
  PRIMARY KEY
  (ID)
  ENABLE VALIDATE);

 

 

 

 

 

 

 

Header.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <!-- 위 3개의 메타 태그는 *반드시* head 태그의 처음에 와야합니다; 어떤 다른 콘텐츠들은 반드시 이 태그들 *다음에* 와야 합니다 -->
    <title>동영상과 다르게  부트스트랩 적용 Head 부분만 붙이면 됩니다.</title>
<!-- 합쳐지고 최소화된 최신 CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css">

<!-- 부가적인 테마 -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap-theme.min.css">

<!-- 합쳐지고 최소화된 최신 자바스크립트 -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/js/bootstrap.min.js"></script>

    <!-- IE8 에서 HTML5 요소와 미디어 쿼리를 위한 HTML5 shim 와 Respond.js -->
    <!-- WARNING: Respond.js 는 당신이 file:// 을 통해 페이지를 볼 때는 동작하지 않습니다. -->
    <!--[if lt IE 9]>
      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->

 

 

class MemberBean

public class MemberBean {
	
	private String id;
	private String pass1;
	private String pass2;
	private String email;
	private String tel;
	private String hobby;
	private String job;
	private String age;
	private String info;


      ~~~~setter, getter
     toString
}

 

 

 

MemberJoin.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<jsp:include page="Header.jsp" />
</head>
<body>
	 <div class="container">
	<div class="row">
	<div class="col-sm-12 text-center" >
	<div class="col-sm-3"></div>
	
	<div class="col-sm-6">
    <h2>회원가입</h2>
	<form action="MemberJoinProc.jsp" method="post">
		<table class="table table-boardered">
			<tr>
				<th>아이디</th>
				<td><input type="text" class="form-control" name="id" placeholder="id를 넣으세요"></td>		
			</tr>
			<tr>
				<th>패스워드</th>
				<td><input type="password" class="form-control" name="pass1" placeholder="비밀번호는 영문만 넣어주세요"></td>		
			</tr>
			
			<tr>
				<th>패스워드확인</th>
				<td><input type="password" class="form-control" name="pass2"></td>		
			</tr>
			
			<tr>
				<th>이메일</th>
				<td><input type="email" class="form-control" name="email"></td>		
			</tr>
			
			<tr>
				<th>전화번호</th>
				<td><input type="tel" class="form-control" name="tel"></td>		
			</tr>
			
			<tr>
				<th>당신의 관심분야</th>
				<td>
				<input type="checkbox"  name="hobby" value="캠핑">캠핑 &nbsp;&nbsp;
				<input type="checkbox"  name="hobby" value="등산">등산 &nbsp;&nbsp;
				<input type="checkbox"  name="hobby" value="영화">영화 &nbsp;&nbsp;
				<input type="checkbox"  name="hobby" value="독서">독서 &nbsp;&nbsp;
				</td>		
			</tr>
			
			<tr>
				<th>당신의 직업은</th>
				<td>
				 <select name="job" class="form-control">
				 	<option value="교사">교사</option>
				 	<option value="변호사">변호사</option>
				 	<option value="의사">의사</option>
				 	<option value="기술사">기술사</option>
				 </select>
				</td>		
			</tr>
			
						
			<tr>
				<th>당신의 연력은</th>
				<td>
				<input type="radio"  name="age" value="10">10대 &nbsp;&nbsp;
				<input type="radio"  name="age" value="20">20대 &nbsp;&nbsp;
				<input type="radio"  name="age" value="30">30대 &nbsp;&nbsp;
				<input type="radio"  name="age" value="40">40대 &nbsp;&nbsp;
				</td>		
			</tr>
			
			<tr>
				<th>하고 싶은 말</th>
				<td>
				 <textarea rows="5" cols="40" name="info" class="form-control"></textarea>
				</td>		
			</tr>
			
			
			<tr>
				<td colspan="2">
				<input type="submit" class="btn btn-primary" value="전송">
				<input type="reset" class="btn btn-danger" value="취소">
				</td>
			</tr>
			
			
		</table>
	</form>
	</div>
	
	</div>
	</div>
</div>
</body>
</html>

 

 

 

MemberJoinProc.jsp

 

배열 처리 는 다음과 같이 한다.

	<%
						request.setCharacterEncoding("UTF-8"); //post 전달 방식일 경우 한글 처리

						//취미 부분은 별도로 읽어들어 다시 빈 클래스에 저장
						String[] hobby = request.getParameterValues("hobby");
						//배열의 있는 내용을 하나의 스트림으로 젖아
						String texthobby = "";

						for (int i = 0; i < hobby.length; i++) {
							texthobby += hobby[i] + " ";
						}
					%>

 

기존 취미는 주소번지가 저장되기에 위에 배열의  내용을 하나의 스트림으로 저장한 변수를 다시입력

<%
mbean.setHobby(texthobby); 
										
%>

 

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<jsp:include page="Header.jsp" />
</head>
<body>
	<div class="container">
		<div class="row">
			<div class="col-sm-12 text-center">
				<div class="col-sm-3"></div>

				<div class="col-sm-6">

					<%
						request.setCharacterEncoding("UTF-8"); //post 전달 방식일 경우 한글 처리

						//취미 부분은 별도로 읽어들어 다시 빈 클래스에 저장
						String[] hobby = request.getParameterValues("hobby");
						//배열의 있는 내용을 하나의 스트림으로 젖아
						String texthobby = "";

						for (int i = 0; i < hobby.length; i++) {
							texthobby += hobby[i] + " ";
						}
					%>
					<!--  useBean 을 이용하여 한꺼번에 데이터를 받아옴 -->
					<jsp:useBean id="mbean" class="model.MemberBean">
						<jsp:setProperty name="mbean" property="*" />
						<!--  맵핑 시키시오 -->
					</jsp:useBean>



					<%
					mbean.setHobby(texthobby); //기존 취미는 주소번지가 저장되기에 위에 배열의 
													//내용을 하나의 스트림으로 저장한 변수를 다시입력				
					%>

				<h2>당신의 아이디 =  <%=mbean.getId() %></h2>
				<h2>당신의 취미는 =  <%= mbean.getHobby() %></h2>


				</div>
			</div>
		</div>
	</div>


</body>
</html>


 

 

동영상 강좌와 다르게  모바일 적용이 가능한 반응형 부트스트랩을 사용하였다.

여기서는  jsp 를 배우는 강좌 이기 때문에 html 적 요소에는 비중있게 생각 하지 않아도 될 것이다.

소스 :  https://github.com/braverokmc79/jsp_sin

 

 

유튜브 동영상 출처 :

소프트캠퍼스

강사 : 신형섭(잭임연구원)

저작권 : (주)소프트캠퍼스 http://www.softcampus.co.kr 더많은 무료 강의는 사이트에서 확인하실수 있습니다.

 

 

 

about author

PHRASE

Level 60  라이트

겨울바람이 봄바람보고 춥다 한다 , 자기 허물을 생각지 않고 오히려 남의 작은 허물을 나무람을 이르는 말.

댓글 ( 4)

댓글 남기기

작성