JSP 액션태그

less than 1 minute read

2022-02-06

💡 인프런 JSP강의를 기반으로 작성.

❗ 개인이 공부한 내용을 적은 것 이기에 오류가 많을 수도 있음

Include 지시어

  • 각각 작성한 것들을 하나의 페이지로 합칠 때 사용 (Ex. 홈페이지 만들때 네비게이션 하단 나누어서 만들고 합칠 때)
  • <%@ include file=”Bottom.jsp” %> 이런식으로 표기

Include 지시어 vs jsp:include(액션 태그)

  • 둘다 Top.jsp의 페이지를 다른곳에 합치는 역할을 한다
  • Include 지시어와 jsp:include(액션 태그)의 차이는 후자는 param으로 value 값을 전달 할수 있다 하지만 전자는 불가능 하다
  • jsp:include (액션 태그)가 코드에 포함되어있으면 그 부분 먼저 실행이 되고 aaa 라는 값이 전달된후 합쳐질 페이지에 반영이 된다.
  • <%@ include file =””%> 는 페이지가 한번에 합쳐진다

Response.sendRedirect vs <jsp:forward page=””>

forwardLogin의 코드

  1. id 값을 입력하고 submit 버튼을 누르면 ResponseProc.jsp로 이동

ResponseProc의 코드

ResponseRedirect의 코드

  1. ResponseProc의 코드에서 response.sendRedirect(“ResponseRedirect.jsp”) 만난다 → ResponseRedirect로 넘어와 id를 출력하는데 id 데이터가 null 값이 된다.(페이지를 또 이동하는것 이기 때문에)
  2. 이러한 것을 방지하기 위해 response.sendRedirect(“ResponseRedirect.jsp?id=”+id); 식으로 코드를 작성 할 수있다.

    host2.png

  3. 하지만 이러한 과정이 없이 를 활용하면 id의 데이터를 ResponseRedirect.jsp에서 출력을 할 수있다.

    host.png

    주소에서도 차이를 보이는데 위의 3번과 달리 ResponseRedirect가 아닌 ResponseRedirect을 호출한 ResponseProc 에서 페이지가 열린다.

만약 ResponseProc의 코드안에 이런식으로 작성이 되있다면

  • forwardLogin에서 id 값을 “abcd”로 입력하여도 mmmm으로만 출력이 된다.

📑 출처

Categories:

Updated:

Leave a comment