JSP

 

 

 

RequestLogin.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
	<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]-->
</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="RequestLoginProc.jsp" method="get">
		<table class="table table-boardered">
			<tr>
				<th>아이디</th>
				<td><input type="text" class="form-control" name="id"></td>		
			</tr>
			<tr>
				<th>패스워드</th>
				<td><input type="password" class="form-control" name="pass"></td>		
			</tr>
			<tr>
				<td colspan="2"><button class="btn btn-primary">전송</button></td>
			</tr>
		</table>
	</form>
	</div>
	
	</div>
	</div>
</div>
</body>
</html>

 

RequestLoginProc.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
	<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]-->
</head>
<body>

<!--  RequestLogin 에서 넘어온 아이디와 패스워드를 읽어드림  -->
<%
	//사용자의 정보가 저장되어 있는 객체 request 의 getParameter() 사용자의 정보를 추출
	String id= request.getParameter("id"); //사용자의 id 값을 읽어드려서 변수 id 에 저장하시오.
	String pass=request.getParameter("pass");
%>


 <h2>
 당신의 아이디는  <%= id  %> 이고 패스워드는  <%= pass %> 입니다.
 </h2>
 
 
 	<a href="RequestForwoard.jsp">다음페이지</a>
 

</body>
</html>

 

RequestForwoard.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
	<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]-->
</head>
<body>

<!--  RequestLogin 에서 넘어온 아이디와 패스워드를 읽어드림  -->
<%
	//사용자의 정보가 저장되어 있는 객체 request 의 getParameter() 사용자의 정보를 추출
	String id= request.getParameter("id"); //사용자의 id 값을 읽어드려서 변수 id 에 저장하시오.
	String pass=request.getParameter("pass");
%>


 <h2>
 RequestForward 페이지 입니다. <br>
 당신의 아이디는  <%= id  %> 이고 패스워드는  <%= pass %> 입니다.
 </h2>
  
  
 

</body>
</html>

 

웹(Web) 환경은 HTTP 프로토콜 위에서 동작하고 있습니다.

 

        HTTP 프로토콜 간단하게 얘기해서,

        클라이언트가 서버에 무언가(보통은 웹페이지)를 요청(request)하면,

        서버가 이 요청에 해당하는 것을 응답(response) 해주는 구조로 되어있습니다.

 

HTTP 요청을 보낼 때,  파라미터(parameter)를 함께 끼워보낼 수 있습니다.

 

        가령, 로그인을 할 때, 로그인 폼(form : 양식)을 입력하고, 버튼을 누르죠.

        그러면, HTTP 요청 안에 폼 내용이 함께 끼워져서 서버로 날아가게 됩니다.

        로그인 폼 내용이 바로, HTTP 요청의 파라미터(parameter)가 되는 겁니다.

 

        이러한 HTTP 요청을 받은 서버는 이제 어떤 일을 할까요?

        파라미터로 날아온 로그인 폼을 일단 봐야지, 뭘하든 하겠죠.

 

        그러려면 일단 파라미터 값을 얻어내야 하는데...

 

HTTP 요청의 파라미터 값을 얻기 위해 사용하는 것이 request.getParameter() 메쏘드입니다.

 

        가령, 로그인 폼에, ID를 입력하는 <input type="text" name="id">가 있었다면,

        서블릿에서 String strId = request.getParameter("id"); 와 같은 방식으로,

        클라이언트가 입력한 ID가 뭐였는지 알아낼 수 있습니다.

 

       로그인에 성공했다면, 이제 어떻게 할까요?

       클라이언트의 회원정보를 DB에서 읽어서 페이지에 뿌려주기로 합시다.

       그러려면, 서블릿은 회원정보를 JSP에게 보내줘야 합니다. 그래야 뿌리죠.

 

       그런데 어떻게???

 

다른 곳으로 정보를 넘겨주기 위해서 request 객체의 속성(attribute)을 사용합니다.

(더 정확하게는, 웹 애플리케이션 상에서 정보를 공유하기 위해서 속성을 사용합니다.)

 

        가령, 회원정보 중에서 '취미'를 JSP에게 넘겨주기 위해서,

        서블릿에서 request.setAttribute("hobby", strHobby); 로 속성을 집어넣고,

        JSP에서 <% String strHobby = (String)request.getAttribute("hobby"); %><% String hobby = (String)request.getAttribute("hobby"); %>로 속성을 얻는거죠.

 

       Q : "걍 단순이 db에서 먼갈 꺼내와서 리퀘스트 객체에 넣을땐 set이고 꺼낼땐 겟인가요??" 

       A : 맞습니다... -_-;   (꼭 DB가 아니더라도 뭔가를 넣고 싶으면 아무거나 넣으면 됩니다.)

 

setAttribute(), getAttribute()에서 속성 값으로 사용하는 타입은 Object입니다.

 

        Q : "벡터를 넘겨주면 벡터를 받음 돼는건가여?"

        A : 예.  Vector를 넘겨준다면 Vector로 타입 캐스팅 하고 받으면 됩니다.

[출처] request.getParameter()|작성자 박영준

 

 

 

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

 

 

유튜브 동영상 출처 :

소프트캠퍼스

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

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

 

 

 

 

 

about author

PHRASE

Level 60  라이트

서당 아이들은 초달(楚撻)에 매여 산다 , 글을 배우는 아이들은 선생의 벌을 가장 두려워한다는 말. / 어떤 조직에 매여 있으면, 어쩔 수 없이 그 조직의 생활에 따르게 된다는 뜻.

댓글 ( 4)

댓글 남기기

작성