jsp 지시자라는것은 파일 맨 위에 적는것
파일을 어떻게 처리할지나, 파일을 포함하고 싶을때, taglib prefix 이런거 쓸때 적는다.
<%@ ~~~~~ %>
session의 기본값은 true다!!
Jsp 기본객체
request
response
pageContext
session
application
request, response, out 없이 사이트를 만들수 있나?? 없다...
그래서 jsp는 기본적으로 만들어진 내장객체를 가지고 있다
JSP 기본객체!!=내장객체!
1. pageContext= 페이지영역,, 현재 jsp영역이다.
2. session = 로그인할때나 사용자 인증할때 ex)로그인할때만 볼수있게한다던지
3. application은 프로젝트다! = 웹에서 돌아가는 어플리케이션 = 웹 어플리케이션
즉, application = project
4. page = this같은 존재
out.print이 제일 많이 사용할 것 같지만 아니다...
실제로는
<%= %>를 더 많이 쓴다...
보통 세션, request를 가장 많이 사용한다.
특별한 능력이 있는 4가지
void setAttribute
Object getAttribute
void removeAttribute
이 3가지 메소드의 scope를 정할 수 있다.
하나의 프로젝트 안에는 여러개의 폴더로 이루어져있고 폴더 하나 안에는 여러가지 jsp파일로 이루어져있다.
아래로 갈수록 범위가 넓어진다.
pageContext : page context는 그 현재 jsp영역을 말하는데 여기서 정의한거는 하나의 예를들어 a.jsp안에서 동작한다.
request : request는 request한 다음페이지에서 사용가능
ex) b.jsp에서 request.setAttribute 했으면 d.jsp에서 request.getAttribute 할 수 있다. 다른 jsp에서는 쓸수없다.
ex) db(회원목록)에서 얻어와라(여기서 request.setAttribute하고) → 그리고 이걸 회원목록.jsp로 넘겨라 하면 리퀘스트
session : session인증된 사람만 가능 / session이 false인 사람은 사용 불가능!!
ex)c.jsp에서 session.setAttrube하면 다른 jsp에서는 다 쓸수있는데 만약 f.jsp가 session을 false처리했으면 얘는 못씀
application : application 어디서든지 다 쓸수 있다!!!!!!
보통은 request하고 session을 많이 쓴다.
* 웹 페이지 이동에는 두가지 방법이 있다.
친구한테 첨부파일있는 메일같은거 전달 = forward
내용을 그대로 전달해준다.
forward(request,response) | sendRedirect(location) | |
사용방법 | request.setAttribute(보낼것);//그럼 메모리에 담김 RequestDispatcher dispatcher = request.getRequestDispatcher(path); //path에다가 받을 경로를 적음 경로는 contextRoot를 뺀 /guestbook/list.jsp이런것만 적는다. dispatcher.forward(request,response);//위에서 set한걸 가지고 이동!! |
response.sendRedirect(location); //되돌려 보내라. location에는 url을 적어줌 |
동일 서버(project) 내 경로 | 동일 서버 포함 타 url가능 | |
기존의 reuqest와 response가 그대로 전달 | 기존의 rueqest와 response는 소멸 | |
rueqest로는 데이터 저장 불가능 session이나 cookie를 이용 |
안내문같은것을 전송할때 forward해준다고 한다. 심지어 첨부파일같은것도 넘어간다...
forward는 같은 프로젝트 내에서만 가능하다!!
sendRedirect는 location을 적어줌
'BackEnd > 백엔드' 카테고리의 다른 글
1007 마지막실습2 (0) | 2021.10.11 |
---|---|
1007 오후3(방명록을 모두 jsp로 바꾸어보기) (0) | 2021.10.11 |
1007 - 오후(jsp는 <%!와 같은 스크립팅요소를 쓰는 html안에 자바) (0) | 2021.10.10 |
1007 - 웹엑스1.2 (0) | 2021.10.10 |
1007 - 백엔드 실습 (0) | 2021.10.10 |