Data Scientist 옌

매일 발전하는 IT문제해결사

국비지원교육 (22.01-22.07)/강의노트

22-04-12(화) 052일차 [HTML, JavaScript] 페이지 이동

옌炎 2022. 6. 3. 11:44
728x90

수업내용


1교시 (09:30-10:20)

  • mem_jquery.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>회원 가입 폼</title>

<!-- jQuery CDN 불러오기  -------------------------------------------->
<script  src="http://code.jquery.com/jquery-latest.min.js"></script>

<!-- 다음 주소록 OPEN API CDN 불러오기  ----------------------------------->
<script src="http://dmaps.daum.net/map_js_init/postcode.v2.js"></script>

<script type="text/javascript">
	
	$(document).ready(function(){
		alert("ready >>> : ");
		
		/*====== memForm 태그 START ==========================================*/
		// memForm 태그에 바인딩 된 데이터 jsp 로 보내기 
		$("#memInsertBtn").click(function(){
			alert("mzone_btn >>> : ");
			console.log("mzone_btn >>> : ");
			
				
			//############################################# jQuery 버전 START
			
			// id 값 : 
				
			// mname				
			var mname = $('#mname');
			console.log("mname >>> : " + mname);
			// JSON : 자바스크립트에 있는 JSON을 처리하는 객체 
			// stringify() : 오브젝트를 JSON 데이터로 변경하는 함수 
			// parse() : JSON 데이터를 자바스크립트 객체로 변경하는 함수 
			console.log("JSON.stringify(mname) >>> : " + JSON.stringify(mname));
			
			var mname_val = $('#mname').val();
			console.log("mname_val >>> : " + mname_val);
			console.log("JSON.stringify(mname_val) >>> : " + JSON.stringify(mname_val));
			
			// mhp
			var mhp = $('#mhp');
			var mhp_val = $('#mhp').val();
			var mhp_length = $('#mhp').length;
			var mhp_option = $("#mhp option:selected")
			var mhp_option_val = $("#mhp option:selected").val();
			var mhp_option_text = $("#mhp option:selected").text();
			
			// mgender
			var mgender = $('#mgender');
			var mgender_val = $('#mgender').val();
			var mgender_length = $('#mgender').length;
			var mgender_checked = $("#mgender:checked")
			var mgender_checked_val = $("#mgender:checked").val();
			var mgender_id_01 = $("input:radio[id='mgedner']:input[value='01']").val();
			var mgender_id_02 = $("input:radio[id='mgedner']:input[value='02']").val();
			
			// mhobby
			var mhobby = $('#mhobby');
			console.log("mhobby >>> : " + mhobby);		
			console.log("JSON.stringify(mhobby) >>> : " + JSON.stringify(mhobby));
			var mhobby_val = $('#mhobby').val();
			console.log("mhobby_val >>> : " + mhobby_val);
			console.log("JSON.stringify(mhobby_val) >>> : " + JSON.stringify(mhobby_val));
			var mhobby_length = $('#mhobby').length;
			console.log("mhobby_length >>> : " + mhobby_length);
			console.log("JSON.stringify(mhobby_length) >>> : " + JSON.stringify(mhobby_length));
			var mhobby_length = $('#mhobby:checked');						
			var mhobby_checked_val = $("#mhobby:checked").val();
			var mhobby_id_01 = $("input:checkbox[id='mhobby']:input[value='01']").val();
			var mhobby_id_02 = $("input:checkbox[id='mhobby']:input[value='02']").val();
			var mhobby_id_03 = $("input:checkbox[id='mhobby']:input[value='03']").val();
			var mhobby_id_04 = $("input:checkbox[id='mhobby']:input[value='04']").val();
			
			
			/*
			$("#memForm")
			.attr({
					"action":"#",
				    "method":"GET",
				    "enctype":"application/x-www-form-urlencoded"
			       })
			.submit();	
			*/
		}); 
	});
	
</script>

<style type="text/css">
	/*====== div START ==========================================*/
	div {
			margin: 50px 0px 0px 100px;
		}	
	/*====== div END ==========================================*/		
</style>

</head>
<body>
<div>
<h3>회원 가입</h3>
<hr>
<form name="memForm" id="memForm">
<table border="1">
<tr>
	<td colspan="2">회원 가입</td>	
</tr>
<tr>
	<td>회원번호</td>
	<td><input type="text" class="mnum" name="mnum"  id="mnum" readonly /></td>
</tr>
<tr>
	<td>이름</td>
	<td><input type="text" class="mname" name="mname" id="mname" /></td>
</tr>
<tr>
	<td>아이디</td>
	<td>	
		<input type="text" class="mid" name="mid" id="mid" placeholder="아이디체크" />
		<input type="button" class="midCheck" name="midCheck" id="midCheck" value="아이디중복확인" />
	</td>
</tr>
<tr>
	<td>패스워드</td>
	<td>
		<input type="text" class="mpw" name="mpw" id="mpw" style="width:100px"/><br>
		<input type="text" class="mpw_r" name="mpw_r" id="mpw_r" placeholder="비밀번호확인" style="width:100px"/>
		<input type="button"  class="mpwCheck"  name="mpwCheck" id="mpwCheck" value="비밀번호확인">
	</td>
</tr>
<tr>
	<td>핸드폰</td>
	<td>
		<select class="mhp" name="mhp" id="mhp" style="width:50px;">
        	<option value="010">010</option>
        	<option value="011">011</option>
        	<option value="016">016</option>
        	<option value="017">017</option>		        	
         </select>
         - <input type="text" class="mhp1" name="mhp1" id="mhp1" maxlength="4" style="width:50px;"/>
         - <input type="text" class="mhp2" name="mhp2" id="mhp2" maxlength="4" style="width:50px;"/>
	</td>
</tr>
<tr>
	<td>이메일</td>
	<td>		
		<input type="text" class="memail" name="memail"  id="memail" style="width:100px"/>
		@ <input type="text" class="memail1" name="memail1" id="memail1" style="width:100px" placeholder="직접입력" />
		<select class="memail2"  name="memail2" id="memail2">
        	 <option value="1" selected>직접입력</option>
       		 <option value="naver.com">naver.com</option>	       	   
      		 <option value="gmail.com">gmail.com</option>
      		 <option value="daum.net">daum.net</option>	       	   
         </select>
	</td>
</tr>
<tr>
	<td>성별</td>
	<td> 
		<input type="radio" class="mgender" name="mgender" id="mgender" value="01" checked="checked" />여자
		<input type="radio" class="mgender" name="mgender" id="mgender" value="02" /> 남자
	</td>
</tr>
<tr>
	<td>취미</td>
	<td> 
		<input type="checkbox" class="mhobby" name="mhobby" id="mhobby" value="01" />독서		      
		<input type="checkbox" class="mhobby" name="mhobby" id="mhobby" value="02" />운동
		<input type="checkbox" class="mhobby" name="mhobby" id="mhobby" value="03" />음악감상
		<input type="checkbox" class="mhobby" name="mhobby" id="mhobby" value="04" />여행
	</td>
</tr>
<tr>
	<td>주소</td>
 	<td>
 		<input type="text" class="mzone" name="mzone" id="mzone" placeholder="우편번호" style="width:70px" maxlength="6" >
 		<input type="button" class="mzone_btn" name="mzone_btn" id="mzone_btn" value="우편번호 찾기"><br>	 	
 		<input type="text" class="mroad" name="mroad" id="mroad" placeholder="도로명주소" style="width:250px"><br>	 	
 		<input type="text" class="mroaddetail" name="mroaddetail" id="mroaddetail" placeholder="도로명주소 상세주소" style="width:250px"><br>	 	
 		<input type="text" class="mjibun" name="mjibun" id="mjibun" placeholder="지번주소" style="width:250px">
 	</td>
</tr>
<tr>
	<td>소개글</td>
	<td>
		<textarea class="mmsg" name="mmsg" id="mmsg" rows="5" cols="50"></textarea>
	</td>
</tr>
<tr>
	<td colspan="2"> 		
		<input type="hidden" id="ISUD_TYPE" name="ISUD_TYPE" value="I">		
		<input type="button" value="jsp_보내기" id="memInsertBtn" />	
		<input type="reset" value="취소" />
	</td>				
</tr>
</table>				 		        		     
</form>	
</div>		
</body>
</html>
  • 지난 시간 복습
    웹 어플리케이션
    -------------
    브라우저에서 동작하는 프로그램
    브라우저에서 브라우저로 이동하는 프로그램
    웹 문서에서 또 다른 웹 문서
    웹 문서에서 같은 웹 문서로 이동


    웹 페이지를 이동하는 기술
    ---------------------
    1.  <a href="">
    <a> : HTML a 태그

    2.  location.href=""
    location : 자바스크립트 객체

    3.  history.go()
    history : 자바스크립트 객체

    4. <form action="">
    <input type="submit">
    submit : 자바스크립트 함수
    이벤트 처리 : 자바스크립트, jQuery

    5.  서블릿에서 사용하는 방법
    RequestDispatcher rd = request.getRequestDispatcher("컨텍스트를 제외한 파일의 경로");
    rd.forward(request, response);
    RequestDispatcher 인터페이스는 Context 안에서만 이동하는 객체이다.

    이동할 페이지 url이 보이지 않는다.

2교시 (10:30-11:20)

  • request_C_1.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    
<%@ page import="java.util.ArrayList" %>  

<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>RequestDispatcher</title>
</head>

<body>
	<h3>RequestDispatcher.forward :: request_C.jsp</h3>
	<hr>
<%
	response.sendRedirect("/KosMember/kos_jsp/request_D_1.jsp");
	
%>
</body>
</html>
  • request_D_1.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    
<%@ page import="java.util.ArrayList" %>  
    
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>RequestDispatcher</title>
</head>
<body>
<h3>RequestDispatcher.forward :: request_D.jsp</h3>
<hr>
<%
	// response.sendRedirect("http://www.naver.com");
%>
</body>
</html>

request_C_1.jsp 실행

request_C.jsp와 비교

 

  • 웹 페이지를 이동하는 기술
    6.  response.sendRedirect("/KosMember/kos_jsp/request_D_1.jsp");

    이동할 페이지 url이 보인다.
    1. 요청한 페이지를 보여주고
    2. 응답할 페이지로 이동을 하기 전에
    3. 요청한 페이지의 url 끊고
    4. 응답할 페이지를 새로 요청한다.
    5. 응답 페이지를 받는다.

3교시 (11:30-12:20)

  • include_header.html
<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>Insert title here</title>
</head>

<body>
	<h3 style="background-color: yellow;">header</h3>
	<hr>
</body>
</html>
  • include_footer.html
<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>Insert title here</title>
</head>

<body>
	<h3 style="background-color: yellow;">header</h3>
	<hr>
</body>
</html>
  • include_A.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>INCLUDE_A JSP</title>
</head>
<body>
	<%@ include file="include_header.html" %>
	<h3 style="background-color: blue;">INCLUDE_A JSP</h3>
	<hr>
	<%
		String mid = request.getParameter("mid");
		String mpw = request.getParameter("mpw");
		out.println("forward_A mid >>> : " + mid + "<br>");
		out.println("forward_A mpw >>> : " + mpw + "<br>");
		System.out.println("forward_A mid >>> : " + mid);
		System.out.println("forward_A mpw >>> : " + mpw);
		
		String param_3 = "param_3";
		String param_4 = "param_4";
	%>
	<%--
	<jsp:forward page="/kos_jsp/forward_B.jsp" />
	--%>
	<jsp:include page="/kos_jsp/include_B.jsp">
		<jsp:param name="param_1" value="<%= mid %>" />
		<jsp:param name="param_2" value="<%= mpw %>" />
		<jsp:param name="param_3" value="<%= param_3 %>" />
		<jsp:param name="param_4" value="<%= param_4 %>" />
	</jsp:include>
	<%@ include file="include_footer.html" %>
</body>
</html>
  • include_B.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>INCLUDE B</title>
</head>

<body>
	<h3 style="background-color: cyan;">INCLUDE_B JSP</h3>
	<hr>
	<%
		String mid = request.getParameter("mid");
		String mpw = request.getParameter("mpw");
		String param_3 = request.getParameter("param_3");
		String param_4 = request.getParameter("param_4");
		
		out.println("include_B mid >>> : " + mid + "<br>");
		out.println("include_B mpw >>> : " + mpw + "<br>");
		out.println("include_B param_3 >>> : " + param_3 + "<br>");
		out.println("include_B param_4 >>> : " + param_4 + "<br>");
		
		System.out.println("include_B mid >>> : " + mid);
		System.out.println("include_B mpw >>> : " + mpw);
		System.out.println("include_B param_3 >>> : " + param_3);
		System.out.println("include_B param_4 >>> : " + param_4);
	%>
</body>
</html>
  • include.html
<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>INCLUDE TEST</title>
	<!-- jQuery CDN 불러오기 -->
	<script src="http://code.jquery.com/jquery-latest.min.js"></script>
	<script type="text/javascript">
		
		$(document).ready(function(){
			alert(">");
			$("#mid_btn").on('click', function(){
				alert("midbtn");
				$("#includeForm").attr({
					"action":"/KosMember/kos_jsp/include_A.jsp",
					"method":"GET"
				}).submit();
			});
		});
		
	</script>
</head>

<body>
	<h3>인클루드 테스트</h3>
	<hr>
	<form name="includeForm" id="includeForm">
		<input type="text" class="mid" name="mid" id="mid" /><br>
		<input type="text" class="mpw" name="mpw" id="mpw" /><br>
		<input type="button" id="mid_btn" value="보내기" />
	</form>
</body>
</html>

4교시 (12:30-13:20)

  • forward_A.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>FORWARD_A</title>
</head>

<body>
	<h3>FORWARD_A JSP</h3>
	<hr>
	<%
		String mid = request.getParameter("mid");
		String mpw = request.getParameter("mpw");
		out.println("forward_A mid >>> : " + mid + "<br>");
		out.println("forward_A mpw >>> : " + mpw + "<br>");
		System.out.println("forward_A mid >>> : " + mid);
		System.out.println("forward_A mpw >>> : " + mpw);
		
		String param_3 = "param_3";
		String param_4 = "param_4";
		
		pageContext.forward("/kos_jsp/forward_B.jsp");
	%>
	<%-- 
		<jsp:forward page="/kos_jsp/forward_B.jsp" />
	--%>
	<%--
		<jsp:forward page="/kos_jsp/forward_B.jsp">
			<jsp:param name="param_1" value="<%= mid %>" />
			<jsp:param name="param_2" value="<%= mpw %>" />
			<jsp:param name="param_3" value="<%= param_3 %>" />
			<jsp:param name="param_4" value="<%= param_4 %>" />
		</jsp:forward>
	 --%>
</body>
</html>
  • forward_B.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>FORWARD_B</title>
</head>

<body>
	<h3>FORWARD_B JSP</h3>
	<hr>
	<%
		String mid = request.getParameter("mid");	
		String mpw = request.getParameter("mpw");
		String param_3 = request.getParameter("param_3");	
		String param_4 = request.getParameter("param_4");
		
		out.println("forward_B mid >>> : " + mid + "<br>");
		out.println("forward_B mpw  >>> : " + mpw + "<br>");
		out.println("forward_B param_3 >>> : " + param_3 + "<br>");
		out.println("forward_B param_4  >>> : " + param_4 + "<br>");
		
		System.out.println("forward_B mid >>> : " + mid);
		System.out.println("forward_B mpw  >>> : " + mpw);
		System.out.println("forward_B param_3 >>> : " + param_3);
		System.out.println("forward_B param_4  >>> : " + param_4);
	%>
</body>
</html>
  • forward.html
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>FORWARD_B</title>
</head>

<body>
	<h3>FORWARD_B JSP</h3>
	<hr>
	<%
		String mid = request.getParameter("mid");	
		String mpw = request.getParameter("mpw");
		String param_3 = request.getParameter("param_3");	
		String param_4 = request.getParameter("param_4");
		
		out.println("forward_B mid >>> : " + mid + "<br>");
		out.println("forward_B mpw  >>> : " + mpw + "<br>");
		out.println("forward_B param_3 >>> : " + param_3 + "<br>");
		out.println("forward_B param_4  >>> : " + param_4 + "<br>");
		
		System.out.println("forward_B mid >>> : " + mid);
		System.out.println("forward_B mpw  >>> : " + mpw);
		System.out.println("forward_B param_3 >>> : " + param_3);
		System.out.println("forward_B param_4  >>> : " + param_4);
	%>
</body>
</html>


5교시 (14:30-15:20)

  • test_forward_1_d.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>TEST FORWARD</title>
</head>

<body>
	<h3 style="background-color: cyan;">TEST FORWARD : RequestDispatcher.forward()</h3>
	<hr>
	<%
		// test_forward_1.jsp 페이지 line 20에서 정의한 request.setAttribute("mid", mid) 객체를
		// test_forward_1.jsp 페이지 line 24에서 정의한 test_forward_1_d.jsp로 forward한 객체를
		// test_forward_1_d.jsp 페이지 line 17에서 request.getAttribute("mid") 함수로 받아온다.
		Object obj = request.getAttribute("mid");
		String mid = (String)obj;
	%>
	<%= mid %>
</body>
</html>
  • test_forward_1.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>TEST FORWARD</title>
</head>

<body>
	<h3 style="background-color: yello;">TEST FORWARD : RequestDispatcher.forward()</h3>
	<hr>
	<%
		String mid = "kosmo";
	
		// request 내장형 객체의 함수 중 setAttribute(java.lang.String, java.lang.Object)
		// 함수로 데이터를 저장한다.
		// 이렇게 저장한 데이터는 요청한 페이지에서
		// request.getAttribute(java.lang.String) 함수로 데이터를 찾아서 사용할 수 있다.
		request.setAttribute("mid", mid);
		
		// 1. Servlet : RequestDispatcher.forward()
		RequestDispatcher rd = request.getRequestDispatcher("/kos_jsp/test_forward_1_d.jsp");
		rd.forward(request, response);
		// rd.forward 함수가 실행이 되면
		// line 20 에서 정의한 request.setAttribute("mid", mid) 객체가
		// line 24에서 rd.forward 함수의 첫번째 매개변수에 바인딩되서 forward 페이지로 전송된다.
	%>
</body>
</html>

  • test_forward_2_d.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>TEST FORWARD</title>
</head>

<body>
	<h3 style="background-color: cyan;">TEST FORWARD : pageContext.forward()</h3>
	<hr>
	<%
		String mid = request.getParameter("mid");
	%>
	<%= mid %>
</body>
</html>
  • test_forward_2.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>TEST FORWARD</title>
</head>

<body>
	<h3 style="backfround-color : yellow;">TEST FORWARD : pageContext.forward()</h3>
	<hr>
	<%
		String mid_pagecontext = "kosmo";
	
		// 2. jsp : pageContext.forward();
			// 1. url에 Query String(꼬리표) ?key=value&key=value 를 사용할 수 있다.
			//	 -> request.getParameter(key) 받아야 한다.
			// 2. request.setAttribute(java.lang.String, java.lsng.Object)
			//	 -> request.getAttribute(java.lang.String);
		pageContext.forward("/kos_jsp/test_forward_2_d.jsp?mid="+mid_pagecontext);
		
		/*
			pageContext.forward()는 하기 RequestDispatcher의 jsp 버전이다.
			
			Request Dispatcher rd = request.getRequestDispatcher("");
			rd.forward(request, response);
		*/
	%>
</body>
</html>

6교시 (15:30-16:20)

  • test_forward_3_d.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>TEST FORWARD</title>
</head>
<body>
	<h3 style="background-color: cyan;">TEST FORWARD : &lt;jsp:forward /&gt; 싱글태그</h3>
	<hr>
	<%
		// String mid = request.getParameter("mid");
	Object obj = request.getAttribute("mid");
	String mid = (String)obj;
	%>
	<%= mid %>
</body>
</html>
  • test_forward_3.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>TEST FORWARD</title>
</head>

<body>
	<h3 style="background-color: yellow;">TEST FORWARD : &lt;jsp:forward/&gt; 싱글 태그</h3>
	<hr>
	<%
		String mid_forward_singletag = "kosmo";
		request.setAttribute("mid", mid_forward_singletag);
	%>
	3. jsp: &lt;jsp:forward page="" /&gt;<br>
	<jsp:forward page="/kos_jsp/test_forward_3_d.jsp" />
</body>
</html>

  • test_forward_4_d.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>TEST FORWARD</title>
</head>

<body>
	<h3 style="background-color: cyan;">TEST FORWARD : &lt;jsp:forward&gt;&lt;/jsp:forward&gt; 더블 태그</h3>
	<hr>
	<%
		String param_1 = request.getParameter("param_1");
	%>
	<%= param_1 %>
</body>
</html>
  • test_forward_4.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>TEST FORWARD</title>
</head>

<body>
	<h3 style="background-color: yellow;">TEST FORWARD : &lt;jsp:forward&gt;&lt;/jsp:forward&gt; 더블 태그</h3>
	<hr>
	4. jsp : <br>
	&lt;jsp:forward page=""&gt;<br>
		&lt;jsp:param name="" value="" &gt;<br>
	&lt;/jsp:forward &gt;<br>
	<%
		String mid = "kosmo";
	%>
	<jsp:forward page="/kos_jsp/test_forward_4_d.jsp">
		<jsp:param name="param_1" value="<%= mid %>" />
	</jsp:forward>
</body>
</html>

  • 웹 페이지를 이동하는 기술
    7.  <j
    sp:include path="컨텍스트를 제외한 파일의 경로">
    <jsp:param name="" value="">
    </jsp:include>


    forward : 이동할 페이지 url이 보이지 않는다.
    ------------------------------------------
    8.  RequestDispatcher rd = request.getRequestDispatcher("컨텍스트를 제외한 파일의 경로");
    rd.forward(request, response);
    requestDispatcher 인터페이스는 Context 안에서만 이동하는 객체이다.

    9. pageContext.forward("컨텍스트를 제외한 파일의 경로")

    10. <jsp:forward path="컨텍스트를 제외한 파일의 경로" />

    11. <jsp:forward path="컨텍스트를 제외한 파일의 경로">
    <jsp:param name="" value="">
    </jsp:forward>

    forward : 이동할 페이지 url이 보인다.
    -----------------------------------------
    12. response.sendRedirect("URL");
    1) 요청한 페이지를 보여주고
    2) 응답할 페이지로 이동을 하기 전에
    3) 요청한 페이지의 url 끊고
    4) 응답할 페이지를 새로 요청을 한다.
    5) 응답 페이지를 받는다.
  • 데이터 이동
    데이터 이동 : scope
    -------------------------------------------------------
    page : pageContext 내장 객체
    현재 보이는 자기 페이지 내에서 이동

    request : request 내장 객체
    요청한 페이지에서만 사용 가능

    session : session 내장 객체
    WAS 서버에서 설정한 session 시간 및 객체

    application : application 내장 객체
    context 내에 있는 모든 자원에서 사용 가능
    web.xml에서 session 검색
      <!-- ==================== Default Session Configuration ================= -->
      <!-- You can set the default session timeout (in minutes) for all newly   -->
      <!-- created sessions by modifying the value below.                       -->

        <session-config>
            <session-timeout>30</session-timeout>
        </session-config>

7교시 (16:30-17:20)

  • scope.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>SCOPE JSP</title>
</head>

<body>
	<% // 자바
		String scope = "scope test";
	%>
	String scope = "scope test";
	<% // 자바
		pageContext.setAttribute("scope_page", scope);
		request.setAttribute("scope_request", scope);
		request.setAttribute("scope_session", scope);
		application.setAttribute("scope_application", scope);
	%>
	<p>
	jsp expression 표현식
	<hr>					<!-- 자바 -->
	&lt;%= scope %&gt; -> <%= scope %><br>
	&lt;%= pageContext.getAttribute("scope_page") %&gt; -> <%= pageContext.getAttribute("scope_page") %><br>
	&lt;%= request.getAttribute("scope_request") %&gt; -> <%= request.getAttribute("scope_request") %><br>
	&lt;%= session.getAttribute("scope_session") %&gt; -> <%= session.getAttribute("scope_session") %><br>
	&lt;%= application.getAttribute("scope_application") %&gt; -> <%= application.getAttribute("scope_application") %><br>
	
	
	<p>
	el: Expression Language 표현식
	<hr>			<!-- el. 자바 아님 -->
	\${ scope } -> \${ scope }<br>
	\${ scope_page } -> \${ scope_page }<br>
	\${ scope_request } -> \${ scope_request }<br>
	\${ scope_session } -> \${ scope_session }<br>
	\${ scope_application } -> \${ scope_application }<br>
</body>
</html>

8교시 (17:30-18:30)

  • 자습

Notes


728x90