'JAVA/JSP'에 해당되는 글 37건

JSP Forward,Param

JAVA/JSP 2015. 8. 12. 12:19


Forward.jsp

<%@ page language="java" contentType="text/html; charset=EUC-KR"

    pageEncoding="EUC-KR"%>

<!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=EUC-KR">

<title>Action forward</title>

</head>

<body>

<h2>forward_action.jsp 에서 footer.jsp 호출 </h2>

forward 의 모든 내용은 출력되지 않는다.<hr><br>


<jsp:forward page="footer.jsp">

<jsp:param value="dusdhkd8@gmail.com" name="email" />

<jsp:param value="010-0000-0000" name="phon" />

</jsp:forward>


</body>

</html>


footer.jsp

<%@ page language="java" contentType="text/html; charset=EUC-KR"

    pageEncoding="EUC-KR"%>

<!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=EUC-KR">

<title>Insert title here</title>

</head>

<body>

footer.jsp 입니다.<hr><br>


<%=request.getParameter("email") %>

<%=request.getParameter("phon") %>

</body>

</html>



url은 forward.jsp인데 forward.jsp에 작성된 html은 출력되지않는다.

제어권이 footer.jsp에 넘어갔기 때문인데, 보안성이 좋아 진다.


이 액션은 클라이언트가 요청한 자원에서 다른 자원으로 프로그램의 제어를 이동할 때 사용된다.

이를 포워딩이라 한다.
<jsp:forward> 은 <jsp:param> 를 자식 엘리먼트로 가질 수 있는데, 포워딩할 대상 자원으로 파라미터를 전달하기 위해서이다.
page 속성은 포워딩할 대상 자원의 상대주소이다.


include 액션과 유사하지만 현재 페이지의 제어권을 완전히

다른 페이지로 전달 브라우저 URL에는 최종 전달된 파일명이 보이는 것이 아니라

최초 호출한 파일명이 보임.

'JAVA > JSP' 카테고리의 다른 글

JSP Page 디렉티브에서 버퍼 설정(buffer속성과 autoFlush속성)  (0) 2015.08.12
JSP 구구단예제  (0) 2015.08.12
JSP 액션 Include,param  (0) 2015.08.12
JSP include 지시어  (0) 2015.08.12
Jsp 주석테스트  (0) 2015.08.12
블로그 이미지

왕왕왕왕

,

JSP 액션 Include,param

JAVA/JSP 2015. 8. 12. 11:48

Include.jsp


<%@ page language="java" contentType="text/html; charset=EUC-KR"

pageEncoding="EUC-KR"%>

<!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=EUC-KR">

<title>Action include</title>

</head>

<body>

Include 한 메세지입니다.<hr><br>


<jsp:include page="footer.jsp">

//name,value 쌍으로 전달

<jsp:param value="dusdhkd8@gmail.com" name="email" />

<jsp:param value="010-0000-0000" name="phon" />

</jsp:include>


</body>

</html>


footer.jsp

<%@ page language="java" contentType="text/html; charset=EUC-KR"

    pageEncoding="EUC-KR"%>

<!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=EUC-KR">

<title>Insert title here</title>

</head>

<body>

footer.jsp 입니다.<hr><br>


//받은 내용 name값으로 출력

<%=request.getParameter("email") %>

<%=request.getParameter("phon") %>


</body>

</html>



이 액션은 JSP페이지에 정적(HTML) 또는 다이나믹 웹 컴포넌트(JSP,Servlets)를 추가할때 사용한다.

액션 - include 

사용법 - <jsp:include page="xx.jsp"/> 

기능 - 다른페이지를 현재 페이지에 포함

'JAVA > JSP' 카테고리의 다른 글

JSP 구구단예제  (0) 2015.08.12
JSP Forward,Param  (0) 2015.08.12
JSP include 지시어  (0) 2015.08.12
Jsp 주석테스트  (0) 2015.08.12
JSP에서 다른 페이지 이동  (0) 2014.11.03
블로그 이미지

왕왕왕왕

,

JSP include 지시어

JAVA/JSP 2015. 8. 12. 11:16

<%@ page language="java" contentType="text/html; charset=EUC-KR"

pageEncoding="EUC-KR"%>

<!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=EUC-KR">

<title>include 지시어 테스트</title>

</head>

<body>

원래 페이지 test.jsp

<hr>

불러온 페이지<%@ include file="footer.jsp"%>

</body>

</html>



현재 JSP 파일에 다른 JSP나 HTML 문서를 포함시킴.


기본 형식

<%@ include file=”포함할 파일명” %>

'JAVA > JSP' 카테고리의 다른 글

JSP 구구단예제  (0) 2015.08.12
JSP Forward,Param  (0) 2015.08.12
JSP 액션 Include,param  (0) 2015.08.12
Jsp 주석테스트  (0) 2015.08.12
JSP에서 다른 페이지 이동  (0) 2014.11.03
블로그 이미지

왕왕왕왕

,

Jsp 주석테스트

JAVA/JSP 2015. 8. 12. 10:50

<%@ page language="java" contentType="text/html; charset=EUC-KR"

pageEncoding="EUC-KR"%>

<!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=EUC-KR">

<title>주석테스트</title>

</head>

<body>

<!-- 이 주석은 클라이언트에서 볼 수 있습니다. -->


<h2>JSP 주석테스트</h2>


<%-- 이 주석은 클라이언트에서 볼 수 없습니다. --%>

</body>

</html>




HTML에서만 사용 할 수 있는 주석


<!-- -->


HTML,JSP에서 공통으로 사용 할 수 있는 주석


<%-- --%>


JSP에서만 사용 할 수 있는 주석


//, /* */, /** */

'JAVA > JSP' 카테고리의 다른 글

JSP 구구단예제  (0) 2015.08.12
JSP Forward,Param  (0) 2015.08.12
JSP 액션 Include,param  (0) 2015.08.12
JSP include 지시어  (0) 2015.08.12
JSP에서 다른 페이지 이동  (0) 2014.11.03
블로그 이미지

왕왕왕왕

,

먼저 다음 페이지 이동 특성들을 미리 알아볼 필요가 있습니다

JSP에서는 페이지 이동시 다음 4가지 정도의 방법이 있습니다

 

 JavaScript를 이용

window.open, location.href, location.replace 등을 이용할수 있습니다

 

login_process.jsp

<% if (a == null) { %>

      <script>location.href = "admin.jsp"; </script>

<% } else { %>

      <script>alert('권한이 없어요!'); window.history.back(); </script>

<% } %>

         

특징적인부분은 브라우져의 주소창이 변경되며

(이말은 즉슨 클라이언트가 다시 admin.jsp를 서버에 요청한다는 말입니다)

login_process.jsp 에서 jsp가 다 실행되고 브라우져에 out put된 html 및 javascript들만으로

실행된 코드들이라는 것입니다

 

② response.sendRedirect를 이용

login_process.jsp

<% if (a == null) {

          response.sendRedirect("admin.jsp");

     } else {

          response.sendRedirect("login.jsp");

     }

 

     a = "test 입니다";

     System.out.println(a);

%>

 

이 코드에서 a가 출력될까요 안될까요?

출력 됩니다.

sendRedirect가 되더라도 밑에 jsp 코드들은 모두 실행 된다는 말입니다

response.sendRedirect는 기본적으로 모든 로직들을 다 처리한 후 코드 맨 마지막 부분에

사용하는 것이 올바른 방법입니다

만약 그렇지 못한 경우는 response.sendRedirect 다음 바로 return; 이라는 코드를 집어 넣어야 합니다

 

response.sendRedirect은 HTTP 헤더정보를 변경하여 redirect시키기 때문에 역시 브라우져의 주소창이 변경되며 sendRedirect가 실행되기전 html이나 javascript로 out put되는 코드들은 모두 실행되지 않습니다.

 

③ forward 이용

jsp 태그의 <jsp:forward> 나 servlet의 RequestDispatcher.forward 를 이용할수 있습니다

 

login_process.jsp

<% if (a == null) { %>

          <jsp:forward page="admin.jsp"/>

<% } else { %>

          <jsp:forward page="login.jsp"/>

<% }

 

     a = "test 입니다";

     System.out.println(a);

%>

 

그럼 위의 코드의 경우 a가 출력 될까요 안될까요?

정답은 출력 안됩니다. 바로 forward 되어 버립니다.

클라이언트로 응답주지 않고 바로 서버측에서 admin.jsp로 이동하기 때문에

주소창이 바뀌지 않고 그로인해 브라우져에 출력되는 응답속도 또한 사용자가 보기에는

응답이 빠른 장점이 있습니다

 

하지만 forward 이후 JSP 코드들이 실행되지 않는것 사실이지만 만약 finally절이 있는경우

finally절은 실행 됨으로 확실히 알아둡시다.

 

④ meta 태그 이용

마지막으로 meta 태그를 이용할 수도 있습니다.

 

<META http-equiv=refresh content="0;url=admin.jsp">

 

즉 요약하자면..

페이지 이동 방법이 여러가지가 있습니다.

그 특성들을 잘 알고 올바르게 사용하여야 합니다.

'JAVA > JSP' 카테고리의 다른 글

JSP 구구단예제  (0) 2015.08.12
JSP Forward,Param  (0) 2015.08.12
JSP 액션 Include,param  (0) 2015.08.12
JSP include 지시어  (0) 2015.08.12
Jsp 주석테스트  (0) 2015.08.12
블로그 이미지

왕왕왕왕

,