Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- Import
- \
- iframe
- 페이지 이동
- static
- 데이터사이언스
- 향상된 for문
- 자바빈즈
- 빈즈
- session.setAttribute
- 동기 부여
- 영감
- 파일 호출
- 팝업창
- ;
- 버리자
- session.getAttribute
- session.removeAttribute
- scanner
- 동기부여
- "
- BEANS
- opener
- 페이지이동
- Alert
- 미래직장
- javaBeans
- target
- 파일호출
- 로그인화면
Archives
- Today
- Total
갈림길 이정표
[JSP] Redirect / Forward test 2 (feat. WEB-INF) 본문
Programming Language/Servlet & JSP
[JSP] Redirect / Forward test 2 (feat. WEB-INF)
이몽뇽 2020. 8. 26. 19:15<a href="WEB-INF/kbs.jsp">kbs</a>처럼 WEB-INF 폴더 안의 파일은 직접 호출 불가
[jsp2call.html]
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
Redirect / Forward test
<br>
<form action="jsp2called.jsp" method="post">
자료 입력: <input type="text" name="data" value="james">
<input type="submit">
</form>
<br>
WEB-INF 안에 있는 파일을 클라이언트에서 호출 시도
<br>
<a href="WEB-INF/kbs.jsp">kbs</a> <!-- 클라이언트 통해 직접 부를 수 없음! -->
</body>
</html>
[jsp2called.jsp]
<%@page import="java.util.ArrayList"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
//현재 jsp파일은 서버에서만 운영할 파일: business logic을 담당 (때문에 html 시작 tag가 필요없음)
String data = request.getParameter("data");
/*넘어온 자료로 이런 저런 작업을 하다가....*/
String msg = "Mr. " + data;
//1. redirect 방식
/*response.sendRedirect("jsp2called2.jsp?data=" + msg); //data라는 key, msg라는 value*/
//2. Forward 방식
request.setAttribute("data", msg);
ArrayList<String> list = new ArrayList<String>(); //새로운 ArrayList객체 생성 (소.괄.호 중요)
list.add("oscar");
list.add("john");
list.add("alex");
list.add("osee");
request.setAttribute("friend", list); //이정보들은 현재 jsp파일에서만 유효하기때문에
/*request.getRequestDispatcher("jsp2called2.jsp").forward(request, response);*/ //forward 방식으로 넘겨주면 됨
%>
<jsp:forward page="jsp2called2.jsp"></jsp:forward> <!--action tag로 부르는 방법 -->
<!--<jsp:forward page="WEB-INF/kbs.jsp"></jsp:forward>-->
<!--href와 달리 이건 가능한 이유가 서버에서 서버로 호출하는 forward방식이기 때문 (action tag: forward 는 하나만 가능?)-->
[jsp2called2.jsp]
<%@page import="java.util.ArrayList"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h2>서버가 넘겨준 자료 출력</h2>
<%
//1. redirect
request.setCharacterEncoding("utf-8");
String data = request.getParameter("data"); //data key 안에 msg value 들어 있음
out.println("자료는 " + data); //value인 msg 출력 될 것임 (http://localhost/web_pro4/jsp2called2.jsp?data=Mr.%20james)
//2. forward
String data2 = (String)request.getAttribute("data");//object로 넘어오므로
out.println("data2: " + data2);
ArrayList<String> myarr = (ArrayList<String>)request.getAttribute("friend");
out.println("<br> myarr: ");
for(String f:myarr){ //향상된 for 문
out.println(f + " ");
} //http://localhost/web_pro4/jsp2called.jsp
// 서버에서 서버를 불렀기 때문에 jsp2called (jsp2called2 X)
%>
</body>
</html>
'Programming Language > Servlet & JSP' 카테고리의 다른 글
[JSP] javaBeans *개념 미완성* (0) | 2020.08.26 |
---|---|
[JSP] Session test (0) | 2020.08.26 |
[JSP] Redirect / Forward 방식 (0) | 2020.08.26 |
[JSP] 9개 내장객체 (0) | 2020.08.26 |
[JSP] 인클루드(Include) 지시어 (0) | 2020.08.26 |
Comments