Dev/JSP & Servlet

JSP - 세션과 input태그를 통한 데이터 전송 비교

창문닦이 2019. 2. 19. 23:15


세션을 통해서 데이터를 전송하거나, input 태그의 hidden 타입을 이용하는 경우를 구현해보자.

1. 입력 JSP 페이지 - ex1.jsp

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

<%

request.setCharacterEncoding("UTF-8");

%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>Insert title here</title>

</head>

<script type="text/javascript">

function sendIt(){

var f = document.myForm;

if(!f.userName.value){

alert("이름입력!");

f.userName.focus();

return;

}

if(!f.userBirth.value){

alert("생일입력!");

f.userBirth.focus();

return;

}

f.submit();

}

</script>

<body>

<form name="myForm" action="ex2.jsp" method="post">

이름 : <input type="text" name="userName" size="10"/><br/>

생일 : <input type="text" name="userBirth" size="10"/><br/>

<input type="button" value="다음" onclick="sendIt()">

</form>

</body>

</html>

2. 입력 JSP 페이지 - ex2.jsp 

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

<%

request.setCharacterEncoding("UTF-8");

String userName = request.getParameter("userName");

String userBirth = request.getParameter("userBirth");

session.setAttribute("userName", userName); //세션

session.setAttribute("userBirth", userBirth); //세션

%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>Insert title here</title>

<script type="text/javascript">

function sendIt(){

var f = document.myForm;

if(!f.userId.value){

alert("아이디입력!");

f.userName.focus();

return;

}

if(!f.userPwd.value){

alert("비밀번호입력!");

f.userBirth.focus();

return;

}

f.submit();

}

</script>

</head>

<body>

<form name="myForm" action="ex3.jsp" method="post">

아이디 : <input type="text" name="userId" size="10"/><br/>

패스워드 : <input type="text" name="userPwd" size="10"/><br/>

<!--ex1.jsp에서 입력받은 이름과 생일을 value로 바로 세팅해줌 -->

<!-- hidden은 getParameter로 받은 데이터를 숨겨놓은 상태로 보낼 수 있다 -->

<input type="hidden" name="userName" value="<%=userName %>"/>

<input type="hidden" name="userBirth" value="<%=userBirth %>"/>

<input type="button" value="가입" onclick="sendIt()">

</form>

</body>

</html>

3. 출력 JSP 페이지 - ex3.jsp

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

<%

request.setCharacterEncoding("UTF-8");

//String userName = (String)session.getAttribute("userName"); 세션

//String userBirth = (String)session.getAttribute("userBirth"); 세션

String userName = request.getParameter("userName");

String userBirth = request.getParameter("userBirth");

String userId = request.getParameter("userId");

String userPwd = request.getParameter("userPwd");

%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>Insert title here</title>

</head>

<body>

이름:<%=userName %><br/>

생일:<%=userBirth %><br/>

아이디:<%=userId %><br/>

패스워드:<%=userPwd %><br/>

</body>

</html>


4. 실행 결과




'Dev > JSP & Servlet' 카테고리의 다른 글

JSP - 액션태그를 활용하여 페이지 만들기  (0) 2019.02.19
JSP - 캐릭터 인코딩, 디코딩  (0) 2019.02.19
JSP - scope과 attribute  (0) 2019.02.18
JSP - Redirect, Forward, Session  (0) 2019.02.15
JSP 예제, get/post방식  (2) 2019.02.14