이 폴더는 모두 main 과 other 가 쌍으로 작성되었다
01
이번에는 include 가 아닌 forward 액션태그
<jsp:forward page="이동할페이지 경로"></jsp:forward>
<jsp:forward page="01other.jsp"></jsp:forward> 이렇게 main 파일에 other 가 쓰였음
main 을 실행했으나, main 코드는 하나도 실행되지 않았고, other 코드만 실행됨 (페이지소스보기에서도 other 만 뜬다, 주소창에는 main이 뜬다 - 요청이 main 이라는 뜻)
forward 만나기 전의 코드는 forward 를 만나는 순간 모두 사라지고,
other 를 출력하러 감! 그 후에 main 으로 다시 돌아오지 않으므로 forward 이후의 (html)코드 또한 출력되지 않는다!

요청 - from.jsp - forward- to.jsp - 페이지에 전달
from 에서 forward 실행
from 이 아닌 to 가 생성한 결과를 페이지에 띄우게 됨
from 에서 사용한 request, response 객체가 to 에 그대로 전달됨
02
딱히 내용 없음. 걍 main 에 html 코드 다 사라지고 import, forward 만, 그리고 사라진 html 코드를 other 에 작성함
이 아래 파일들 다 그렇게 작성함
03
request.getParameter
other 에서 param1: <%= request.getParameter("param1") %> 코드를 작성함
param1 의 값을 전달받음
주소창 (main) 에 쿼리스트링으로 param1 값을 써주면 (/03main.jsp?param1=value) 이 값을 받아서 페이지(other)에 표시됨
→ 같은 request 객체를 쓰기 때문, 공유하기 때문!
? attribute 를 쓰면 다른곳에서도 쓸 수 있다 - 왜? 다른 곳? 뭘로 전달하는거지 아그냥 name? 이전 게시물 참고하기
04
다를거없음. 또 request.getParameter
05
이번에는 param 을 forward 안에 작성 (액션태그, 이전 include 안에 param 썼던거 -03module 폴더 - 참고)
param 은 데이터전달 목적으로 쓰임
이번에는 값이 전달되며, 따라서 쿼리스트링으로 써주지 않아도 초기값이 null 이 아닌 전달받은 값으로 표시됨
other 에서 역시나 request.getParameter 로 값을 받아 반환
06
배열 + attribute
main 에서
배열(list)에 4개의 원소를 저장, request.setAttribute 로 items 라는 변수에 배열(list) 저장하여 전달!
other 에서
새로운 배열 items 에 문자열로(attribute 는 반드시 형변환) 전달받은 items 를 저장 (getAttribute)
* 배열을 문자열로 반환? Arrays.toString(배열명) → [ ] 안에 반환
!!! 근데 forward 는 main 출력 안한댔는데?! 출력은 안하는데 자바 코드는 돌아가고 적용됨!
07
form, process, view1normal, view2vip 네개의 파일
form 에서 로그인 창 띄움, 입력값에 따라서 view1normal 띄울지, view2vip 띄울지 process 파일에서 처리
1) form
<form action="07process.jsp" method="post">
id : <input type="text" name="userid" value="iamnormal"> <br>
pw : <input type="password" name="userpw"> <br>
<input type="submit" value="로그인">
</form>
form 태그에 action 속성 값으로 process 파일(경로) 작성 → process 파일로 id, password 가지고 감 (전달)
2) process
<%
String userid = request.getParameter("userid");
if (userid.equals("iamnormal")) {
%>
<jsp:forward page="07view1normal.jsp" />
<%
} else if (userid.equals("iamvip")) {
%>
<jsp:forward page="07view2vip.jsp" />
<%
}
%>
getParameter 로 아이디를 전달받아 (action 으로 전달받았음), 이 아이디가 iamnormal 이면 view1normal 로 forward, iamvip 면 view2vip 로 forward
08
아이디에 따라 다른 파일로 포워딩하는 07 과 동일한데,
이번에는 포워딩될 파일이 WEB-INF 안에 있음 (절대경로, /WEB-INF 부터 작성)
META-INF, WEB-INF 는 밖에서 접근할 수 없음 (즉, 주소창에 임의로 경로를 작성해서 뜨도록 할 수있는 07과는 다름. 로그인해야 뜸)
실행 당연히 잘 됨
09
main, pagea, pageb(이 파일은 web-inf 안에)
main 실행하면 처음에 오류 뜨는데 일단 무시, 쿼리 스트링으로 ?code=a 하면 pagea 파일로, ?code=b 하면 pageb 파일로 포워딩됨
일단 main 에서 code 는 getParameter 로 전달해줌
pagea, pageb 코드는 볼거없음
10
09 와 달리 Parameter 가 아닌 Attribute 로 전달함
pagea, pageb 모두 같은 폴더에 있으며, style css 꾸몄음
main - code 가 food 면, 배열 obj 전달하고 pagea 로 포워딩,
code 가 song 이면, 어레이리스트 o 를 전달하고 pageb 로 포워딩,
전달은 attribute 로
pagea, pageb 에서는 전달받아서 리스트로 내용 출력
'course 2021 > JSP' 카테고리의 다른 글
JSP09 - 08session (0) | 2021.11.18 |
---|---|
JSP08 - 07redirect (0) | 2021.11.17 |
JSP06 - 05attribute (0) | 2021.11.17 |
JSP05 - 04path (0) | 2021.11.17 |
JSP04 - 03module (0) | 2021.11.17 |
이 폴더는 모두 main 과 other 가 쌍으로 작성되었다
01
이번에는 include 가 아닌 forward 액션태그
<jsp:forward page="이동할페이지 경로"></jsp:forward>
<jsp:forward page="01other.jsp"></jsp:forward> 이렇게 main 파일에 other 가 쓰였음
main 을 실행했으나, main 코드는 하나도 실행되지 않았고, other 코드만 실행됨 (페이지소스보기에서도 other 만 뜬다, 주소창에는 main이 뜬다 - 요청이 main 이라는 뜻)
forward 만나기 전의 코드는 forward 를 만나는 순간 모두 사라지고,
other 를 출력하러 감! 그 후에 main 으로 다시 돌아오지 않으므로 forward 이후의 (html)코드 또한 출력되지 않는다!

요청 - from.jsp - forward- to.jsp - 페이지에 전달
from 에서 forward 실행
from 이 아닌 to 가 생성한 결과를 페이지에 띄우게 됨
from 에서 사용한 request, response 객체가 to 에 그대로 전달됨
02
딱히 내용 없음. 걍 main 에 html 코드 다 사라지고 import, forward 만, 그리고 사라진 html 코드를 other 에 작성함
이 아래 파일들 다 그렇게 작성함
03
request.getParameter
other 에서 param1: <%= request.getParameter("param1") %> 코드를 작성함
param1 의 값을 전달받음
주소창 (main) 에 쿼리스트링으로 param1 값을 써주면 (/03main.jsp?param1=value) 이 값을 받아서 페이지(other)에 표시됨
→ 같은 request 객체를 쓰기 때문, 공유하기 때문!
? attribute 를 쓰면 다른곳에서도 쓸 수 있다 - 왜? 다른 곳? 뭘로 전달하는거지 아그냥 name? 이전 게시물 참고하기
04
다를거없음. 또 request.getParameter
05
이번에는 param 을 forward 안에 작성 (액션태그, 이전 include 안에 param 썼던거 -03module 폴더 - 참고)
param 은 데이터전달 목적으로 쓰임
이번에는 값이 전달되며, 따라서 쿼리스트링으로 써주지 않아도 초기값이 null 이 아닌 전달받은 값으로 표시됨
other 에서 역시나 request.getParameter 로 값을 받아 반환
06
배열 + attribute
main 에서
배열(list)에 4개의 원소를 저장, request.setAttribute 로 items 라는 변수에 배열(list) 저장하여 전달!
other 에서
새로운 배열 items 에 문자열로(attribute 는 반드시 형변환) 전달받은 items 를 저장 (getAttribute)
* 배열을 문자열로 반환? Arrays.toString(배열명) → [ ] 안에 반환
!!! 근데 forward 는 main 출력 안한댔는데?! 출력은 안하는데 자바 코드는 돌아가고 적용됨!
07
form, process, view1normal, view2vip 네개의 파일
form 에서 로그인 창 띄움, 입력값에 따라서 view1normal 띄울지, view2vip 띄울지 process 파일에서 처리
1) form
<form action="07process.jsp" method="post">
id : <input type="text" name="userid" value="iamnormal"> <br>
pw : <input type="password" name="userpw"> <br>
<input type="submit" value="로그인">
</form>
form 태그에 action 속성 값으로 process 파일(경로) 작성 → process 파일로 id, password 가지고 감 (전달)
2) process
<%
String userid = request.getParameter("userid");
if (userid.equals("iamnormal")) {
%>
<jsp:forward page="07view1normal.jsp" />
<%
} else if (userid.equals("iamvip")) {
%>
<jsp:forward page="07view2vip.jsp" />
<%
}
%>
getParameter 로 아이디를 전달받아 (action 으로 전달받았음), 이 아이디가 iamnormal 이면 view1normal 로 forward, iamvip 면 view2vip 로 forward
08
아이디에 따라 다른 파일로 포워딩하는 07 과 동일한데,
이번에는 포워딩될 파일이 WEB-INF 안에 있음 (절대경로, /WEB-INF 부터 작성)
META-INF, WEB-INF 는 밖에서 접근할 수 없음 (즉, 주소창에 임의로 경로를 작성해서 뜨도록 할 수있는 07과는 다름. 로그인해야 뜸)
실행 당연히 잘 됨
09
main, pagea, pageb(이 파일은 web-inf 안에)
main 실행하면 처음에 오류 뜨는데 일단 무시, 쿼리 스트링으로 ?code=a 하면 pagea 파일로, ?code=b 하면 pageb 파일로 포워딩됨
일단 main 에서 code 는 getParameter 로 전달해줌
pagea, pageb 코드는 볼거없음
10
09 와 달리 Parameter 가 아닌 Attribute 로 전달함
pagea, pageb 모두 같은 폴더에 있으며, style css 꾸몄음
main - code 가 food 면, 배열 obj 전달하고 pagea 로 포워딩,
code 가 song 이면, 어레이리스트 o 를 전달하고 pageb 로 포워딩,
전달은 attribute 로
pagea, pageb 에서는 전달받아서 리스트로 내용 출력
'course 2021 > JSP' 카테고리의 다른 글
JSP09 - 08session (0) | 2021.11.18 |
---|---|
JSP08 - 07redirect (0) | 2021.11.17 |
JSP06 - 05attribute (0) | 2021.11.17 |
JSP05 - 04path (0) | 2021.11.17 |
JSP04 - 03module (0) | 2021.11.17 |