JSP

 

 

 

 

1. response.sendRedirect 는 페이지 이동시  데이터 값이 유지가 안 된다.

데이터값을 유지 하는 방법은 ?parm=1&param=2 이런식의 get 방식의 데이터 전달 방법이란 보안상

중요하지 않는 데이터 전달 만 된다.

데이터 등록  후에  혹은 데이터 수정후 sendRedirect  를 사용해야 한다.  왜냐하면 foward 를 사용시 에는 기존의 데이터가

유지되기 때문에 F5 의 Refresh 사용시에는 계속적인 데이터 등록이 되어서 에러현상이 나타 난다. 따라서 데이터 삽입과 

변경시 후에 페이지 이동에는 sendRedirect 를 사용해라.

 

2. foward 방식 (jsp:forward ) 데이터가 다음 페이지 까지 유지 된다.  데이터 전달에 있어서 post 방식을 취할 수 있기에

 sendRedirect 보다 안전하다. 

페이지 이동시 url 에 보이는 페이지는 이동할 페이지가 아니라 현재 자신 페이지이다.  이 이유는 전달 된 페이지에 이동했다가

다시 자기 자신의 페이지로 오기 때문이다. 

A ->  B -> c

A에서 데이터를 등록해서 B에서 데이터를 받았다. B에서 데이터를 다시 C 로 전달하는데 forward 방식을 취하면 C 페이지에 이동후

다시 B페이지 로 오게 된다.  페이지는 C페이지 내용이다.  C 페이지 내용이 B 에 보여지는 형식이다.

 

3.  jsp:forward 사용시 추가적인 데이터를 전달 할 수 있다. 동영상 강의 예

			<jsp:forward page="ResponseRedirect.jsp">
					<jsp:param value="mmmm" name="id" />
					<jsp:param value="1234" name="phone" />
				</jsp:forward>

 

 

 

 

forwardLogin.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<jsp:include page="Header.jsp" />
<style>
#form1{
	padding:10px;
	border: 2px solid #666;
	background-color:#F9F9F9;
}
</style>
</head>
<body>
	
	<div class="row">
		<div class="col-xs-2 col-md-3"></div>
		<div class="col-xs-6 col-md-6">
				<form class="form-horizontal" id="form1" action="ResponseProc.jsp" method="post">
					<div class="form-group">
						<label for="id" class="col-sm-2">아이디</label>
						<div class="col-sm-10">
						<input type="text" class="form-control" name="id" id="id">
						</div>
					</div>
					
					<div class="form-group">
						<label for="pass" class="col-sm-2">패스워드</label>
						<div class="col-sm-10">
							<input type="password" class="form-control" name="pass" id="name">
						</div>
					</div>
					
					<div class="form-group">
						<div class="col-sm-12">
						  <div class="text-center">
							<input type="submit" value="로그인" class="btn btn-success">
							<input type="reset" value="취소" class="btn btn-danger">
							</div>
						</div>
					</div>
					
				</form>
		</div>
		<div class="col-xs-3 col-md-3"></div>
	</div>


</body>
</html>

 

 

 

ResponseProc.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="row">
		<div class="col-xs-2 col-md-3"></div>
		<div class="col-xs-6 col-md-6">
			
				<h2>이 페이지는 로그인 정보가 넘어오는 페이지 입니다.</h2>
				<%
					request.setCharacterEncoding("UTF-8"); //post 방식 한글 처리
					
					String id =request.getParameter("id"); //request 객체에 담겨진 사용자 정보중 id만 추출
					
					//response.sendRedirect("ResponseRedirect.jsp");//흐름 제어
					
				%>	
				<%-- <jsp:forward page="ResponseRedirect.jsp"/> <!-- 흐름 제어 --> --%>
				
				<jsp:forward page="ResponseRedirect.jsp">
					<jsp:param value="mmmm" name="id" />
					<jsp:param value="1234" name="phone" />
				</jsp:forward>
				
				
				<h3> 아이디 :  <%= id %></h3>
		</div>
		<div class="col-xs-3 col-md-3"></div>
	</div>


</body>
</html>

 

 

ResponseRedirect.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="row">
		<div class="col-xs-2 col-md-3"></div>
		<div class="col-xs-6 col-md-6">
			
				<h2>ResponseRedirect.jsp 페이지 입니다.</h2>
				<%
					request.setCharacterEncoding("UTF-8"); //post 방식 한글 처리
					
					String id =request.getParameter("id"); //request 객체에 담겨진 사용자 정보중 id만 추출
					
					String phone= request.getParameter("phone");
				%>	
				<h3> 아이디 :  <%= id %> ,  폰 : <%= phone %></h3>
		</div>
		<div class="col-xs-3 col-md-3"></div>
	</div>


</body>
</html>

 

 

 

 

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

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

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

 

 

유튜브 동영상 출처 :

소프트캠퍼스

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

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

 

 

 

 

 

about author

PHRASE

Level 60  라이트

역사는 언제나 난관을 극복하려는 의지와 용기가 있는 국민에게 발전과 영광을 안겨다 주었다. -박정희

댓글 ( 4)

댓글 남기기

작성