JSP 페이지 간 전송 방법 요약
JSP 페이지 간 전달 매개 변 수 는 프로젝트 에 자주 필요 한 것 입 니 다.이것 은 웹 기본 기 라 고 할 수 있 습 니 다.여러 가지 방식 을 정리 해 보고 필요 할 때 이해득실 을 따 져 보고 가장 적합 한 방식 을 선택 할 수 있다.다음은 상세 한 소 개 를 살 펴 보 겠 습 니 다.
1.URL 링크 후 인자 추가
<a href="next.jsp?paramA=A¶mB=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¶mB=B...")
window.location = "next.jsp?paramA=A¶mB=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}
세 션 의 장단 점 은 쿠키 를 참조 하면 된다.총결산
이상 은 이 글 의 전체 내용 입 니 다.본 논문 의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 댓 글 을 남 겨 주 셔 서 저희 에 대한 지지 에 감 사 드 립 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JSP| EL (Experession Language)텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.