JSP 페이지 간 전송 방법 요약

머리말
JSP 페이지 간 전달 매개 변 수 는 프로젝트 에 자주 필요 한 것 입 니 다.이것 은 웹 기본 기 라 고 할 수 있 습 니 다.여러 가지 방식 을 정리 해 보고 필요 할 때 이해득실 을 따 져 보고 가장 적합 한 방식 을 선택 할 수 있다.다음은 상세 한 소 개 를 살 펴 보 겠 습 니 다.
1.URL 링크 후 인자 추가

<a href="next.jsp?paramA=A&paramB=B..." rel="external nofollow" >URL       </a>

<jsp:include page="next.jsp"><jsp:param name="paramA" value="A"/></jsp:include> 

<jsp:forward page="next.jsp"><jsp:param name="paramA" value="B"/></jsp:forward> 

response.sendRedirect("next.jsp?paramA=A&paramB=B...")

window.location = "next.jsp?paramA=A&paramB=B..."
상기 몇 가지 코드 가 실 행 될 때 매개 변 수 를 next.jsp 페이지 로 이동 합 니 다.
next.jsp 페이지 에서 대응 하 는 매개 변 수 를 가 져 오 는 방법 은 다음 과 같 습 니 다.

//    java   
<%String paramA = request.getParameter("paramA"); %>

//      EL
{param.paramA}
장점:단순 성과 다 중 브 라 우 저 지원(브 라 우 저 없 이 URL 을 지원 하지 않 음).
단점:
   1)전 송 된 데 이 터 는 문자열 일 뿐 데이터 형식 과 크기 에 대해 일정한 제한 이 있 습 니 다.
   2)전송 데이터 의 값 은 브 라 우 저 주소 표시 줄 에서 볼 수 있 으 며 보안 등급 이 낮 습 니 다.
2. Form

 <form action="next.jsp" method="post"> 
  <input type="text" name="paramA" value="A"> 
  <input type="hidden" name="paramB" value="B"> 
  <input type="submit" value="  "> 
 </form> 
next.jsp 페이지 에서 대응 하 는 매개 변 수 를 가 져 오 는 방식 은(1)과 유사 합 니 다.
장점:
1)단순 성과 다 중 브 라 우 저 지원(브 라 우 저 없 이 form 을 지원 하지 않 음);
2)제출 할 수 있 는 데이터 의 양 이 URL 방식 보다 많다.
3)전 송 된 값 은 브 라 우 저의 주소 표시 줄 에 표시 되 지만,약간의 검 은 수단 은 페이지 원본 코드 에서 매개 변수 목록 을 구성 할 수 있 습 니 다.
단점:
1)전 송 된 데이터 도 문자열 일 뿐 데이터 형식 에 제한 이 있 습 니 다.
3.쿠키 설정
클 라 이언 트 의 인증 증빙 으로 작은 Cookie 도 당연히 JSP 페이지 의 전송 값 을 실현 할 수 있 습 니 다.

 <% 
  Cookie c=new Cookie("paramA","A"); 
  c.setMaxAge(60*60); //cookie    1  
  response.addCookie(c); // cookie     http   
  %>
next.jsp 페이지 에서 쿠키 를 읽 으 려 면request.getCookies() 방법 으로javax.servlet.http.Cookie 대상 의 배열 을 얻어 야 합 니 다.
그 다음 에 이 배열 을 옮 겨 다 니 며getName()방법 과getValue()방법 으로 모든 쿠키 의 이름과 값 을 얻 습 니 다.

//    java   
<%
 Cookie cookie = null;
 //   cookies   ,     
 Cookie[] cookies = request.getCookies();
 if(cookies != null ){
  for (int i = 0; i < cookies.length; i++){
   cookie = cookies[i];
   out.print("    : " + cookie.getName());
   out.print("<br>");
   out.print("   : " + URLDecoder.decode(cookie.getValue(), "utf-8") +" <br>");
   out.print("------------------------------------<br>");
  }
 }else{
  out.println("<h2>     Cookie</h2>");
 }
%>

//EL     
${cookie.paramA.value}
장점:
1)Cookie 의 값 은 오래 지속 되 며 클 라 이언 트 기기 가 꺼 져 도 다음 에 켜 면 안에 있 는 값 을 얻 을 수 있 습 니 다.
2)쿠키 는 서버 측 에서 여러 상태 정 보 를 저장 하 는 데 도움 을 줄 수 있 으 나 서버 측 에서 저장 자원 을 따로 배분 하지 않 아 서버 측의 부담 을 덜 어 준다.
단점:
1)안전성 이 URL 과 Form 에 비해 많이 향상 되 었 지만 클 라 이언 트 쿠키 를 얻 고 고객 정 보 를 노출 하 는 검 은 수단 도 존재 한다.
4.세 션 설정
개인 적 으로 session 과 쿠키 하 나 는 서버 에 있 고 하 나 는 클 라 이언 트 에 있다 고 생각 합 니 다.
이들 에 키 쌍 을 추가 한 후 페이지 간 전달 만 제공 하 는 것 이 아니 라 데이터 공유 솔 루 션 입 니 다.

 <%  
 session.setAttribute("paramA","A"); 
 response.sendRedirect("next.jsp"); 
 %>
next.jsp 에서 session 을 읽 는 방법:

//  java   
<%=session.getAttribute("paramA") %>

//EL     
{session.paramA}
세 션 의 장단 점 은 쿠키 를 참조 하면 된다.
총결산
이상 은 이 글 의 전체 내용 입 니 다.본 논문 의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 댓 글 을 남 겨 주 셔 서 저희 에 대한 지지 에 감 사 드 립 니 다.

좋은 웹페이지 즐겨찾기