Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

Everything has an expiration date

[JSP & JDBC & Oracle] 20231215 - [프로그램 소스] - TestSession01, TestSession02, TestSession03 본문

[JSP & JDBC & Oracle]/Program source (JSP & JDBC & Oracle)

[JSP & JDBC & Oracle] 20231215 - [프로그램 소스] - TestSession01, TestSession02, TestSession03

Jelly-fish 2023. 12. 18. 01:31

 

 

 

 

WebApp14


012
TestSession01, TestSession02, TestSession03


 

TestSession01.jsp

 

<%@ page contentType="text/html; charset=UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>TestSession01.jsp</title>
<link rel="stylesheet" type="text/css" href="css/MemberScore.css">
<style type="text/css">
	.btnMenu
	{
		border: 1px solid gray;
		border-radius: 3px;
		font-size: 10pt;
		width: 60px;
		height: 20px;
	
	}
	
</style>
<script type="text/javascript">
	
		function sendIt()
		{
			// 확인
			// alert("함수 호출~!!!");
			
			var f = document.forms[0];
			
			if (!f.userName.value)
			{
				alert("이름을 입력하세요~!!!");
				f.userName.focus();
				return;
			}
			
			if (!f.userTel.value)
			{
				alert("전화번호를 입력하세요~!!!");
				f.userTel.focus();
				return;
			}
			
			f.submit();
			
		}
	
	
</script>

</head>
<body>
 
<!--  
	○ TestSession01.jsp 에서 TestSession02.jsp 페이지로
	   이름과 전화번호를 입력받아 전송
	   
	   TestSession02.jsp 에서 TestSession03.jsp 페이지로
	   아이디와 패스워드를 입력받고
	   앞에서 전달받은 이름과 전화번호를 함께 전송
	   
	   
	   TestSession03.jsp 에서 전달받은 이름, 전화번호, 아이디, 패스워드 출력
	   
	   01 →→→→→→→→→→→ 02 →→→→→→→→→→→ 03
	   이름, 전화                아이디, 패스워드          이름, 전화, 아이디, 패스워드
	   입력                      입력                      출력
	   
	                       - getParameter             - getAttribute
	   
	 
   ※ 즉, 01 에서 02 로 넘겨받을 땐 getParameter
      02 에서 03 으로 넘겨받을 땐 getParameter 와 getAttribute 로 세션 활용
      01 에서 03 으로 직접 넘겨줄 수 없기 때문에 세션(session)에 저장
      
   ※ session 외에 input 태그 hidden 속성을 이용한 정보 전달 가능~!!!
	

-->



<div>
	<form action="TestSession02.jsp" method="post">
		<table border="2" class='table'>
			<tr>
				<td>
					이름 입력
				</td>
				<td>
					<input type="text" class="txt" name="userName">
				</td>
			</tr>
			
			<tr>
				<td>
					전화번호 입력
				</td>
				<td>
					<input type="text" class="txt" name="userTel">
				</td>
			</tr>
			<tr>
				<td colspan="2">
					<!-- <a href="TestSession02.jsp"> -->
					<a href="javascript:sendIt()">
						<button type="button" class="btn" >다음 페이지로 전송</button>
						<!-- <input type="submit" class="btn" value="입력 완료"> -->
						<!-- <input type="hidden"> 같은 경우는 현재 잘 사용하지 않는다.
						     session 처리 비용이 컸을 때 사용했던 방식...
						     주로 session 사용...
						 -->
					</a>
				</td>
			</tr>
		</table>
	</form>
</div>
</body>
</html>

 


 

TestSession02.jsp

 

<%@ page contentType="text/html; charset=UTF-8"%>
<%

	// 01에서 받은 값 session
	// 02에서 입력받은 값 request
	/* 
	
	request.setCharacterEncoding("UTF-8");
	
	String userName = request.getParameter("userName");
	String userTel = request.getParameter("userTel");
	
	session.setAttribute("userName", userName);
	session.setAttribute("userTel", userTel);
	*/

	
	// 이전 페이지(TestSession01.jsp)로부터 넘어온 데이터 수신
	// → userName, userTel
	
	request.setCharacterEncoding("UTF-8");
	
	String userName = request.getParameter("userName");
	String userTel = request.getParameter("userTel");
	
	
	// check~!!!
	// 추가~!!!
	
	session.setAttribute("userName", userName);
	session.setAttribute("userTel", userTel);
	//-- 생명 연장~~
	
	
	
	
	

%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>TestSession02.jsp</title>
<link rel="stylesheet" type="text/css" href="css/MemberScore.css">
<script type="text/javascript">

	function sendIt()
	{
		// 확인
		//alert("함수 호출~!!!");
		
		var f = document.forms[0];
		
		if (!f.userId.value)
		{
			alert("아이디를 입력하세요~!!!");
			f.userId.focus();
			return;
		}
		
		if (!f.userPwd.value)
		{
			alert("패스워드를 입력하세요~!!!");
			f.userPwd.focus();
			return;
		}
	}
</script>


</head>
<body>


<div>
	<form action="TestSession03.jsp" method="post">
		<table border="2" class='table'>
			<tr>
				<td>
					아이디 입력
				</td>
				<td>
					<input type="text" class="txt" name="userId">
				</td>
			</tr>
			
			<tr>
				<td>
					패스워드 입력
				</td>
				<td>
					<input type="text" class="txt" name="userPwd">
				</td>
			</tr>
			<tr>
				<td colspan="2">
					<!-- <a href="TestSession03.jsp"> -->
					<a href="javascript:sendIt()">
						<input type="submit" class="btn" value="입력 완료" >
					</a>
				</td>
			</tr>
		</table>
	</form>
	
<%-- 
	<input type="hidden" name="userName" value="<%=userName %>">
	<input type="hidden" name="userTel" value="<%=userTel %>"> 

--%>
	
</div>


</body>
</html>

 

TestSession03.jsp

 

<%@ page contentType="text/html; charset=UTF-8"%>
<%

/* 	
	request.setCharacterEncoding("UTF-8");

	String userName = (String)session.getAttribute("userName");
	String userTel = (String)session.getAttribute("userTel");
	
	String userId = request.getParameter("userId");
	String userPwd = request.getParameter("userPwd");
	
	String result = String.format("회원 이름 : %s<br>회원 전화번호 : %s<br>회원 ID : %s<br>회원 PW : %s", userName, userTel, userId, userPwd);
	
*/

	// 이전 페이지(TestSession02.jsp)로부터 넘어온 데이터 수신
	// → userId, userPwd
	
	request.setCharacterEncoding("UTF-8");

	String userId = request.getParameter("userId");
	String userPwd = request.getParameter("userPwd");
	
	// 이렇게 꺼낼 수 없다!
	// request 가 아니라, session 에서 꺼내야 한다~!!
	//String userName = request.getParameter("userName");
	//String userTel = request.getParameter("userTel");
	
	String userName = (String)session.getAttribute("userName");
	String userTel = (String)session.getAttribute("userTel");

	// 전송한 후에, 세션을 제거해 주는 작업.
	session.removeAttribute("userName");
	session.removeAttribute("userTel");
	
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>TestSession03.jsp</title>
<link rel="stylesheet" type="text/css" href="css/main.css">
</head>
<body>

<div>
	<%-- <%=result %> --%>
</div>

<div>
	<h2>이름, 전화번호, 아이디, 패스워드 출력</h2>
	<h2>(TestSession03.jsp)</h2>
</div>

<div>
	<h4>이름 : <%=userName %></h4>
	<h4>전화번호 : <%=userTel %></h4>
	<h4>아이디 : <%=userId %></h4>
	<h4>패스워드 : <%=userPwd %></h4>
</div>

<div>
		<a href="TestSession01.jsp">
			<button type="button" class="btn">첫 화면으로 돌아가기</button>
		</a>
	</div>


</body>
</html>