*경로
경로 설정하는 경우
1)<A href="경로>
2)<form action ="경로">
3) 자바스크립트언어 href.location="경로";
경우의 종류
http://localhost:8090/app/a.html
1)절대경로: context인 /app부터 뒤 끝까지, 또는 전체경로 기재할것.
2)상대경로: 현재 요청에서 브라우저가 보여주는 파일경로 기준
목적경로가 상위 폴더에 있을 경우, cmd의 경로 ..을 이용하여 접근한다
ex) app6/product/shop/image.jsp => 현재 jsp 파일 위치
app6/product/shop2/image1.jpg => 찾고자 하는 이미지 파일1
app6/product2/shop2/image2.jpg => 찾고자 하는 이미지 파일2
app6/product/shop/image3.jpg => 찾고자 하는 이미지 파일3
image src = "../shop2/image.jpg ==> 이미지파일1의 상대경로
image src = "../../product2/shop2/image.jpg ==> 이미지파일2의 상대 경로
image src = "image3.jpg ==> 이미지파일3의 상대경로
절대경로
장점: 접근하기가 쉽다. /context명/경로 형식 사용
단점: context가 변경되면 전부 바꿔줘야 한다. (유지보수가 어려움)
상대경로
장점: context명을 따로 지정하지 않기 때문에 context명 변경이 쉽다.
단점: 접근하기가 까다롭다. 현재 경로를 알아야 된다.
절대경로와 상대경로 간단 정리
*절대경로의 기준은 논리적, 물리적으로 구분되어지는 경로이다.
==> 논리적: /context, 물리적: webapp
*상대경로의 기준은 현재 브라우저에서 보여지는 자원의 디렉토리의 기준 경로이다.
**scope
개념: 메모리 저장소, key/value(map계열) 형식으로 저장 및 조회
3가지 종류
1) request scope: HttpServletRequest
setAttribute(key,value), getAttribute(key)
2) session scope: HttpSession
setAttribute(key,value), getAttribute(key)
3) application scope: ServletContext
setAttribute(key,value), getAttribute(key)
1) request scope의 생명주기: 요청->처리->응답(html) , 랜더링은 생명주기에 포함안된다.
=>서로 다른 서블릿끼리는 request 정보가 공유가 안된다. 계속 새로운 주소로 만들어진다.
2) session scope(로그인, 장바구니 기능)
==>생명주기는 같은 브라우저가 유지될 경우에 같다.(엣지랑 크롬이랑 다름)
3) application scope - servletContext
-> web application과 생명주기가 같으며, 가장 오래 살아남는다.
=> tomcet 모듈(컨데이너 서버)을 제거하지 않으면 data 계속 참조 가능. 브라우저가 꺼져도 컨테이너의 모듈이 살아있으면 계속 사용 가능하다.
*JSP
브라우저 -> 요청 -> jsp -> 변환단계(*jsp.java -> 기존 서블릿과 유사) -> 컴파일 단계(*_jsp.class) -> 실행 -> 결과(html)-> 응답
**jsp 코드**
스크립트 코드
<%@ %> : 디렉티브 태그 (directive tag)
<%! %> :디클레이션 태그 (declaration tag) => 거의 안씀. 그래도 알아두자.
<% %> : 스크립트릿 태그 (scriptlet tag) => doGet 메서드내에서 구현코드(응답처리코드 제외)
<%= %> : 이엘(EL) 태그(expressing tag) => 출력 태그
=> <%= 변수 %> (변수; 세미콜론 주면 안된다.), 위치가 중요하며 있는곳에서 출력이 된다.
또한 스크립트릿 태그안 변수만 사용 가능하다. 디클레이션 태그에 있는 변수는 사용 불가.
액션코드:<jsp:~~~ >
=> model1 architecture에서 사용되었던 코드.(위임없이 jsp만 또는 서블릿만으로 설계된 구조)
*jsp의 내장변수
의미: jsp 내에서 선언하지 않고 사용 가능한 변수. 자동으로 선언됨. 따라서 변수명이 정해져있다.
request, response, session, application, out, config
'Web Application' 카테고리의 다른 글
Filter, session, cookie (0) | 2022.08.09 |
---|---|
mybatis 시작 (0) | 2022.08.05 |
Servlet & Jsp 위임(forward, redirect) (0) | 2022.08.04 |
Servlet & Jsp의 파라미터 및 DB 연동 (0) | 2022.08.02 |
Web Application. Servlet & Jsp (0) | 2022.08.01 |