티스토리 뷰

Scope

https://www.edwith.org/boostcourse-web/lecture/16708/

 

[LECTURE] 1) scope란? : edwith

들어가기 전에 Servlet과 JSP를 개발하다보면 변수를 많이 다루게 됩니다. 어떤 변수는 웹 어플리케이션에서 공유하고 싶은 변수가 있을 수도 있고,  어떤 변수는 사용자 별로 ... - 부스트코스

www.edwith.org

scope, 출처: 네이버 부스트코스 웹 프로그래밍

page scope

하나의 JSP 페이지 내에서만 객체를 공유 (JSP only)

예) JSP 파일 내에 <%code fragment%>에서 사용한 변수는 page scope
JSP: pageContext

request scope

요청을 받아서 응답하기까지 유효

forward시 변수 값을 유지할 때 사용

리다이렉트하면 사라짐

Servlet: HttpServletRequest 객체 request
JSP: request

session scope

하나의 브라우저(클라이언트) 당 1개의 session 객체 생성

같은 브라우저 내 페이지(탭)들은 같은 session 객체 공유

웹 브라우저별로 변수가 관리되는 경우(로그인 유지 등)에 사용

만료 시간 설정

Servlet: getSession()
JSP: session

application scope

하나의 웹 애플리케이션 당 1개의 application 객체 생성

같은 웹 애플리케이션 내에서 요청되는 페이지들은 같은 application 객체 공유

웹 애플리케이션이 시작되고 종료될때까지 변수가 유지되는 경우에 사용

Servlet:
ServletContext application = getServletContext(); //객체 얻기 
application.setAttribute("value",value); //쓰기
int value = (int)application.getAttribute("value"); //읽기 (객체라서 형변환 필요)

//값이 없으면 null 반환
try{} catch(NullPointerException e) { out.print("value의 값이 설정되지 않았습니다."); }

//JSP:
//내장 객체 application사용, 방법은 같음.

 

 

 

EL: Expression Language

https://www.edwith.org/boostcourse-web/lecture/16714/

 

[LECTURE] 1) EL(Expression Language) : edwith

들어가기 전에 jsp에서 표현식을 이용해 값을 출력할 때 변수의 값이 null이면 화면에 null이 출력되었습니다. 이 경우 null인지를 check한 후 null이면 아무것도 없... - 부스트코스

www.edwith.org

값을 표현하는 데 사용하는 스크립트 언어. JSP의 기본 문법을 보완하는 역할을 함

표현식 <%=request.getAttribute("value")%>를 대체가능!

EL 비활성화: JSP 상단에 <%@ page isELIgnored = "true" %> 입력

문법: ${expr}

객체에 대한 접근

EL 기본 객체, 출처: 네이버 부스트코스 웹 프로그래밍

page : <%=pageContext.getAttribute("p1")%>
page : ${pageScope.p1} //위와 같은 결과 출력
request : ${requestScope.r1}
session : ${sessionScope.s1}
application : ${applicationScope.a1}

수치 연산, 비교 연산, 논리 연산

연산은 일반적인 프로그래밍 언어에서의  연산자 사용 방법과 같음

예약어를 피하기 위해 대체 연산자가 존재 (예: / = div, % = mod 등)

 

 

 

JSTL: JSP Standard Tag Library

JSP 페이지에서 조건문 처리, 반복문 처리 등을 html tag 형태로 작성할 수 있게 도와줌

최대한 JSP 파일에 java 코드를 적는 것을 지양해야 하는데 그걸 도와준다.

JSTL 사용하기

http://tomcat.apache.org/download-taglibs.cgi에서 3가지 jar 다운받아 WEB-INF/lib/ 폴더에 복사
(이때 이클립스가 인식하도록 반드시 이클립스 왼쪽 내비게이터에서 복사해야 함!)

JSP 파일 상단에 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 입력

태그 종류

JSTL 태그 종류, 출처: 네이버 부스트코스 웹 프로그래밍
코어 태그, 출처: 네이버 부스트코스 웹 프로그래밍

변수 설정하기: set

<prefix:set var="variableName" scope="scope" value="value"/>
ex) <c:set var="value1" scope="request" value="3"/>

choose = switch 문과 같은 역할 (otherwise = default)

기타 문법은 페이지 참조.

https://www.edwith.org/boostcourse-web/lecture/16713/

 

[LECTURE] 2) JSTL(JSP Standard Tag Library) : edwith

들어가기 전에 프론트 개발자가 JSP를 수정하는데, JSP 안에 자바코드와 HTML코드가 섞여 있다면 수정할 때 굉장히 어려움을 느끼게 될 가능성이 큽니다. 이런 문제를 해결하기 ... - 부스트코스

www.edwith.org

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
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 31
글 보관함