headfisrt servlet&jsp chapter 9

Post on 17-Jul-2015

45 Views

Category:

Software

4 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Servlets amp JSP

9장

What is JSTLA 표준액션은 부족해요

세션이 없다 == 안면인식 장애

핵심은 클라이언트에 맞는 세션을 어떻게 찾아주는가

일종의 맵이라고 생각하면 됩니다

for 문

COUNTltc forEach var = ldquomovierdquo items = ldquo$movieListrdquo varStatus = ldquoLoopCountrdquogt

ltc forEach var = ldquomovierdquo items = ldquo$movieList(배열 컬렉션hellip)rdquogt

ltc forEachgt

movie 는 for문의 i와 같아요 movieList에 있는 각각의 요소를 하나씩 가져옵니다 이 안에서 outprintln(movie) 이렇게 하면 됩니다

이중 for문도 가능해요

if 문ltc if test = ldquo$userType eq lsquomemberrsquordquogt

ltc ifgt

test = $hellip는 if 문의 조건과 같아요 test = $hellip -gt (userType == ldquomemberrdquo)

이 안에서 true일때의 로직을 넣으면 됩니다

else if문choose -gt else if 문을 쓰겠음 when -gt if 두번째부터 else if otherwise-gt else

참 쉽죠

ltc choosegt ltc when test = ldquo$helliprdquogt ltc whengt ltc when test = ldquo$helliprdquogt ltc whengt ltc otherwisegt ltcotherwisegt ltcchoosegt

변수(속성) 만들기

ltc set var = ldquouserLevelrdquo scope=ldquosessionrdquo value=ldquocowrdquogt

var -gt 변수명 scope -gt 어디에 변수를 만들지 value -gt 변수에 할당할 값

ltc set var = ldquouserLevelrdquo scope=ldquosessionrdquo gt cow cowgirl cowboy ltcsetgt

변수(속성) 만들기

ltc set var = ldquouserLevelrdquo scope=ldquosessionrdquo value=ldquocowrdquogt

빈이나 맵일 경우hellip target -gt 객체

ltc set var = ldquouserLevelrdquo scope=ldquosessionrdquo gt cow cowgirl cowboy ltcsetgt

변수(속성) 지우기ltc remove var=ldquouserStatusrdquo scope=ldquorequestrdquogt

userStatus라는 속성은 지워집니다

includeinclude 하는 방법 추가 url을 가져오기에 외부 자원도 포함됨

ltc import url=ldquohttphelliphelliprdquogt

ltc import url=ldquohttpHeaderjsprdquogt ltc param name=ldquosubTitlerdquo value=ldquoddddddrdquogt ltcimportgt

표준액션과 마찬가지로 param을 매개변수 처럼 사용할 수 있습니다

URL 재작성responseencodeURL(ldquohelliprdquo)이것도 할 수 있어요

ltc url value=lsquoinputCommentsjsprsquogt

lsquovalue로 들어가는 경로 뒤에 세션아이디 붙여줘rsquo 라는 말입니다

URL 인코딩URL로 못들어가는 애들은 ltcparamgt을 거쳐야해요

ltc url value = ldquoinputCommentsjsprdquo var = ldquoinputURLgt ltc param name=ldquofirstNamerdquo value=ldquo$firstrdquogt ltcurlgt

오류페이지 만들기lt page isErrorPage=ldquotruerdquogt

lt page errorPage=ldquoerrorPagejsprdquogt

페이지 지시자로 이 페이지는 에러 페이지입니다 라고 말해줍니다

이 페이지의 에러페이지는 쟤에요 문제 있으면 쟤한테 가세요 만약에 이게 없으면 어떻게 될까요

디폴트 에러페이지 설정없으면 컨테이너가 DD를 찾아봐요

lterror-pagegt ltexception-typegt javalangThrowableltexception-typegt ltlocationgterrorPagejspltlocationgt lterror-pagegt

를 바꾸면 특정 오류페이지에 대해 처리할 수 있고 응답 상태코드에 따라 처리할 수도 있어욧 lterror-codegt404lterror-codegt exception 내장 객체를 사용할 수도 있어요

String getMessage() -gt 발생된 예외의 메시지를 리턴한다

String toString() -gt 발생된 예외 클래스명과 메시지를 리턴한다

String pritnStackTrace() -gt 발생된 예외를 역추적하기 위해 표준 예외 스트림을 출력한다 예외 발생시 예외가 발생한 곳을 알아낼 때 주로 사용

된다

try catch 대용trycatch랑 좀 달라요 catch하면 바로 catch블록의 끝으로 가요

ltc catchgt 오류 ltccatchgt 오류 있으면 실행

ltc catch var=ldquomyExceptionrdquogt 예외가 있을때 exception 객체를 쓰고 싶으면 이렇게 합니다

what is TLDA 커스텀 태그를 쓰기위해 필요한 일종의 DD라고 생각하면 됩니다

lturlgtrandomlturigt lttaggt ltnamegtadviceltnamegt ltattributegt ltnamegtuserltnamegt ltattributegt lttaggt

lt taglib prefix=ldquomyrdquo uri = ldquorandomrdquogt ltmy advice user = ldquo$userNamerdquogt

lturlgtrandomlturigt lttaggt ltnamegtadviceltnamegt lttag-classgtfooAdvisorTagHandlerltTag-classgt ltattributegt ltnamegtuserltnamegt ltrtexprevaluegtfalseltrtexprevaluegt ltattributegt lttaggt

태그를 사용하면 AdvisorTagHandler클래스에 있는 doTag()가 실행됩니다

false라면 속성은 문자열만 가능합니다 true라면 el표현식 스크립팅 표현식 표준액션이 가능합니다

lturlgtrandomlturigt lttaggt ltnamegtadviceltnamegt lttag-classgtfooAdvisorTagHandlerltTag-classgt ltbody-contentgtemptyltbody-contentgt ltattributegt ltnamegtuserltnamegt ltrtexprevaluegtfalseltrtexprevaluegt ltattributegt lttaggt

scriptless-gt스크립팅 불가능 tagdependent-gt텍스트로 JSP-gtjsp안이라면 무엇이든

TLD 파일은 있어야할 자리가 정해져 있어서 컨테이너가 알아서 매핑해줍니다

What is JSTLA 표준액션은 부족해요

세션이 없다 == 안면인식 장애

핵심은 클라이언트에 맞는 세션을 어떻게 찾아주는가

일종의 맵이라고 생각하면 됩니다

for 문

COUNTltc forEach var = ldquomovierdquo items = ldquo$movieListrdquo varStatus = ldquoLoopCountrdquogt

ltc forEach var = ldquomovierdquo items = ldquo$movieList(배열 컬렉션hellip)rdquogt

ltc forEachgt

movie 는 for문의 i와 같아요 movieList에 있는 각각의 요소를 하나씩 가져옵니다 이 안에서 outprintln(movie) 이렇게 하면 됩니다

이중 for문도 가능해요

if 문ltc if test = ldquo$userType eq lsquomemberrsquordquogt

ltc ifgt

test = $hellip는 if 문의 조건과 같아요 test = $hellip -gt (userType == ldquomemberrdquo)

이 안에서 true일때의 로직을 넣으면 됩니다

else if문choose -gt else if 문을 쓰겠음 when -gt if 두번째부터 else if otherwise-gt else

참 쉽죠

ltc choosegt ltc when test = ldquo$helliprdquogt ltc whengt ltc when test = ldquo$helliprdquogt ltc whengt ltc otherwisegt ltcotherwisegt ltcchoosegt

변수(속성) 만들기

ltc set var = ldquouserLevelrdquo scope=ldquosessionrdquo value=ldquocowrdquogt

var -gt 변수명 scope -gt 어디에 변수를 만들지 value -gt 변수에 할당할 값

ltc set var = ldquouserLevelrdquo scope=ldquosessionrdquo gt cow cowgirl cowboy ltcsetgt

변수(속성) 만들기

ltc set var = ldquouserLevelrdquo scope=ldquosessionrdquo value=ldquocowrdquogt

빈이나 맵일 경우hellip target -gt 객체

ltc set var = ldquouserLevelrdquo scope=ldquosessionrdquo gt cow cowgirl cowboy ltcsetgt

변수(속성) 지우기ltc remove var=ldquouserStatusrdquo scope=ldquorequestrdquogt

userStatus라는 속성은 지워집니다

includeinclude 하는 방법 추가 url을 가져오기에 외부 자원도 포함됨

ltc import url=ldquohttphelliphelliprdquogt

ltc import url=ldquohttpHeaderjsprdquogt ltc param name=ldquosubTitlerdquo value=ldquoddddddrdquogt ltcimportgt

표준액션과 마찬가지로 param을 매개변수 처럼 사용할 수 있습니다

URL 재작성responseencodeURL(ldquohelliprdquo)이것도 할 수 있어요

ltc url value=lsquoinputCommentsjsprsquogt

lsquovalue로 들어가는 경로 뒤에 세션아이디 붙여줘rsquo 라는 말입니다

URL 인코딩URL로 못들어가는 애들은 ltcparamgt을 거쳐야해요

ltc url value = ldquoinputCommentsjsprdquo var = ldquoinputURLgt ltc param name=ldquofirstNamerdquo value=ldquo$firstrdquogt ltcurlgt

오류페이지 만들기lt page isErrorPage=ldquotruerdquogt

lt page errorPage=ldquoerrorPagejsprdquogt

페이지 지시자로 이 페이지는 에러 페이지입니다 라고 말해줍니다

이 페이지의 에러페이지는 쟤에요 문제 있으면 쟤한테 가세요 만약에 이게 없으면 어떻게 될까요

디폴트 에러페이지 설정없으면 컨테이너가 DD를 찾아봐요

lterror-pagegt ltexception-typegt javalangThrowableltexception-typegt ltlocationgterrorPagejspltlocationgt lterror-pagegt

를 바꾸면 특정 오류페이지에 대해 처리할 수 있고 응답 상태코드에 따라 처리할 수도 있어욧 lterror-codegt404lterror-codegt exception 내장 객체를 사용할 수도 있어요

String getMessage() -gt 발생된 예외의 메시지를 리턴한다

String toString() -gt 발생된 예외 클래스명과 메시지를 리턴한다

String pritnStackTrace() -gt 발생된 예외를 역추적하기 위해 표준 예외 스트림을 출력한다 예외 발생시 예외가 발생한 곳을 알아낼 때 주로 사용

된다

try catch 대용trycatch랑 좀 달라요 catch하면 바로 catch블록의 끝으로 가요

ltc catchgt 오류 ltccatchgt 오류 있으면 실행

ltc catch var=ldquomyExceptionrdquogt 예외가 있을때 exception 객체를 쓰고 싶으면 이렇게 합니다

what is TLDA 커스텀 태그를 쓰기위해 필요한 일종의 DD라고 생각하면 됩니다

lturlgtrandomlturigt lttaggt ltnamegtadviceltnamegt ltattributegt ltnamegtuserltnamegt ltattributegt lttaggt

lt taglib prefix=ldquomyrdquo uri = ldquorandomrdquogt ltmy advice user = ldquo$userNamerdquogt

lturlgtrandomlturigt lttaggt ltnamegtadviceltnamegt lttag-classgtfooAdvisorTagHandlerltTag-classgt ltattributegt ltnamegtuserltnamegt ltrtexprevaluegtfalseltrtexprevaluegt ltattributegt lttaggt

태그를 사용하면 AdvisorTagHandler클래스에 있는 doTag()가 실행됩니다

false라면 속성은 문자열만 가능합니다 true라면 el표현식 스크립팅 표현식 표준액션이 가능합니다

lturlgtrandomlturigt lttaggt ltnamegtadviceltnamegt lttag-classgtfooAdvisorTagHandlerltTag-classgt ltbody-contentgtemptyltbody-contentgt ltattributegt ltnamegtuserltnamegt ltrtexprevaluegtfalseltrtexprevaluegt ltattributegt lttaggt

scriptless-gt스크립팅 불가능 tagdependent-gt텍스트로 JSP-gtjsp안이라면 무엇이든

TLD 파일은 있어야할 자리가 정해져 있어서 컨테이너가 알아서 매핑해줍니다

for 문

COUNTltc forEach var = ldquomovierdquo items = ldquo$movieListrdquo varStatus = ldquoLoopCountrdquogt

ltc forEach var = ldquomovierdquo items = ldquo$movieList(배열 컬렉션hellip)rdquogt

ltc forEachgt

movie 는 for문의 i와 같아요 movieList에 있는 각각의 요소를 하나씩 가져옵니다 이 안에서 outprintln(movie) 이렇게 하면 됩니다

이중 for문도 가능해요

if 문ltc if test = ldquo$userType eq lsquomemberrsquordquogt

ltc ifgt

test = $hellip는 if 문의 조건과 같아요 test = $hellip -gt (userType == ldquomemberrdquo)

이 안에서 true일때의 로직을 넣으면 됩니다

else if문choose -gt else if 문을 쓰겠음 when -gt if 두번째부터 else if otherwise-gt else

참 쉽죠

ltc choosegt ltc when test = ldquo$helliprdquogt ltc whengt ltc when test = ldquo$helliprdquogt ltc whengt ltc otherwisegt ltcotherwisegt ltcchoosegt

변수(속성) 만들기

ltc set var = ldquouserLevelrdquo scope=ldquosessionrdquo value=ldquocowrdquogt

var -gt 변수명 scope -gt 어디에 변수를 만들지 value -gt 변수에 할당할 값

ltc set var = ldquouserLevelrdquo scope=ldquosessionrdquo gt cow cowgirl cowboy ltcsetgt

변수(속성) 만들기

ltc set var = ldquouserLevelrdquo scope=ldquosessionrdquo value=ldquocowrdquogt

빈이나 맵일 경우hellip target -gt 객체

ltc set var = ldquouserLevelrdquo scope=ldquosessionrdquo gt cow cowgirl cowboy ltcsetgt

변수(속성) 지우기ltc remove var=ldquouserStatusrdquo scope=ldquorequestrdquogt

userStatus라는 속성은 지워집니다

includeinclude 하는 방법 추가 url을 가져오기에 외부 자원도 포함됨

ltc import url=ldquohttphelliphelliprdquogt

ltc import url=ldquohttpHeaderjsprdquogt ltc param name=ldquosubTitlerdquo value=ldquoddddddrdquogt ltcimportgt

표준액션과 마찬가지로 param을 매개변수 처럼 사용할 수 있습니다

URL 재작성responseencodeURL(ldquohelliprdquo)이것도 할 수 있어요

ltc url value=lsquoinputCommentsjsprsquogt

lsquovalue로 들어가는 경로 뒤에 세션아이디 붙여줘rsquo 라는 말입니다

URL 인코딩URL로 못들어가는 애들은 ltcparamgt을 거쳐야해요

ltc url value = ldquoinputCommentsjsprdquo var = ldquoinputURLgt ltc param name=ldquofirstNamerdquo value=ldquo$firstrdquogt ltcurlgt

오류페이지 만들기lt page isErrorPage=ldquotruerdquogt

lt page errorPage=ldquoerrorPagejsprdquogt

페이지 지시자로 이 페이지는 에러 페이지입니다 라고 말해줍니다

이 페이지의 에러페이지는 쟤에요 문제 있으면 쟤한테 가세요 만약에 이게 없으면 어떻게 될까요

디폴트 에러페이지 설정없으면 컨테이너가 DD를 찾아봐요

lterror-pagegt ltexception-typegt javalangThrowableltexception-typegt ltlocationgterrorPagejspltlocationgt lterror-pagegt

를 바꾸면 특정 오류페이지에 대해 처리할 수 있고 응답 상태코드에 따라 처리할 수도 있어욧 lterror-codegt404lterror-codegt exception 내장 객체를 사용할 수도 있어요

String getMessage() -gt 발생된 예외의 메시지를 리턴한다

String toString() -gt 발생된 예외 클래스명과 메시지를 리턴한다

String pritnStackTrace() -gt 발생된 예외를 역추적하기 위해 표준 예외 스트림을 출력한다 예외 발생시 예외가 발생한 곳을 알아낼 때 주로 사용

된다

try catch 대용trycatch랑 좀 달라요 catch하면 바로 catch블록의 끝으로 가요

ltc catchgt 오류 ltccatchgt 오류 있으면 실행

ltc catch var=ldquomyExceptionrdquogt 예외가 있을때 exception 객체를 쓰고 싶으면 이렇게 합니다

what is TLDA 커스텀 태그를 쓰기위해 필요한 일종의 DD라고 생각하면 됩니다

lturlgtrandomlturigt lttaggt ltnamegtadviceltnamegt ltattributegt ltnamegtuserltnamegt ltattributegt lttaggt

lt taglib prefix=ldquomyrdquo uri = ldquorandomrdquogt ltmy advice user = ldquo$userNamerdquogt

lturlgtrandomlturigt lttaggt ltnamegtadviceltnamegt lttag-classgtfooAdvisorTagHandlerltTag-classgt ltattributegt ltnamegtuserltnamegt ltrtexprevaluegtfalseltrtexprevaluegt ltattributegt lttaggt

태그를 사용하면 AdvisorTagHandler클래스에 있는 doTag()가 실행됩니다

false라면 속성은 문자열만 가능합니다 true라면 el표현식 스크립팅 표현식 표준액션이 가능합니다

lturlgtrandomlturigt lttaggt ltnamegtadviceltnamegt lttag-classgtfooAdvisorTagHandlerltTag-classgt ltbody-contentgtemptyltbody-contentgt ltattributegt ltnamegtuserltnamegt ltrtexprevaluegtfalseltrtexprevaluegt ltattributegt lttaggt

scriptless-gt스크립팅 불가능 tagdependent-gt텍스트로 JSP-gtjsp안이라면 무엇이든

TLD 파일은 있어야할 자리가 정해져 있어서 컨테이너가 알아서 매핑해줍니다

if 문ltc if test = ldquo$userType eq lsquomemberrsquordquogt

ltc ifgt

test = $hellip는 if 문의 조건과 같아요 test = $hellip -gt (userType == ldquomemberrdquo)

이 안에서 true일때의 로직을 넣으면 됩니다

else if문choose -gt else if 문을 쓰겠음 when -gt if 두번째부터 else if otherwise-gt else

참 쉽죠

ltc choosegt ltc when test = ldquo$helliprdquogt ltc whengt ltc when test = ldquo$helliprdquogt ltc whengt ltc otherwisegt ltcotherwisegt ltcchoosegt

변수(속성) 만들기

ltc set var = ldquouserLevelrdquo scope=ldquosessionrdquo value=ldquocowrdquogt

var -gt 변수명 scope -gt 어디에 변수를 만들지 value -gt 변수에 할당할 값

ltc set var = ldquouserLevelrdquo scope=ldquosessionrdquo gt cow cowgirl cowboy ltcsetgt

변수(속성) 만들기

ltc set var = ldquouserLevelrdquo scope=ldquosessionrdquo value=ldquocowrdquogt

빈이나 맵일 경우hellip target -gt 객체

ltc set var = ldquouserLevelrdquo scope=ldquosessionrdquo gt cow cowgirl cowboy ltcsetgt

변수(속성) 지우기ltc remove var=ldquouserStatusrdquo scope=ldquorequestrdquogt

userStatus라는 속성은 지워집니다

includeinclude 하는 방법 추가 url을 가져오기에 외부 자원도 포함됨

ltc import url=ldquohttphelliphelliprdquogt

ltc import url=ldquohttpHeaderjsprdquogt ltc param name=ldquosubTitlerdquo value=ldquoddddddrdquogt ltcimportgt

표준액션과 마찬가지로 param을 매개변수 처럼 사용할 수 있습니다

URL 재작성responseencodeURL(ldquohelliprdquo)이것도 할 수 있어요

ltc url value=lsquoinputCommentsjsprsquogt

lsquovalue로 들어가는 경로 뒤에 세션아이디 붙여줘rsquo 라는 말입니다

URL 인코딩URL로 못들어가는 애들은 ltcparamgt을 거쳐야해요

ltc url value = ldquoinputCommentsjsprdquo var = ldquoinputURLgt ltc param name=ldquofirstNamerdquo value=ldquo$firstrdquogt ltcurlgt

오류페이지 만들기lt page isErrorPage=ldquotruerdquogt

lt page errorPage=ldquoerrorPagejsprdquogt

페이지 지시자로 이 페이지는 에러 페이지입니다 라고 말해줍니다

이 페이지의 에러페이지는 쟤에요 문제 있으면 쟤한테 가세요 만약에 이게 없으면 어떻게 될까요

디폴트 에러페이지 설정없으면 컨테이너가 DD를 찾아봐요

lterror-pagegt ltexception-typegt javalangThrowableltexception-typegt ltlocationgterrorPagejspltlocationgt lterror-pagegt

를 바꾸면 특정 오류페이지에 대해 처리할 수 있고 응답 상태코드에 따라 처리할 수도 있어욧 lterror-codegt404lterror-codegt exception 내장 객체를 사용할 수도 있어요

String getMessage() -gt 발생된 예외의 메시지를 리턴한다

String toString() -gt 발생된 예외 클래스명과 메시지를 리턴한다

String pritnStackTrace() -gt 발생된 예외를 역추적하기 위해 표준 예외 스트림을 출력한다 예외 발생시 예외가 발생한 곳을 알아낼 때 주로 사용

된다

try catch 대용trycatch랑 좀 달라요 catch하면 바로 catch블록의 끝으로 가요

ltc catchgt 오류 ltccatchgt 오류 있으면 실행

ltc catch var=ldquomyExceptionrdquogt 예외가 있을때 exception 객체를 쓰고 싶으면 이렇게 합니다

what is TLDA 커스텀 태그를 쓰기위해 필요한 일종의 DD라고 생각하면 됩니다

lturlgtrandomlturigt lttaggt ltnamegtadviceltnamegt ltattributegt ltnamegtuserltnamegt ltattributegt lttaggt

lt taglib prefix=ldquomyrdquo uri = ldquorandomrdquogt ltmy advice user = ldquo$userNamerdquogt

lturlgtrandomlturigt lttaggt ltnamegtadviceltnamegt lttag-classgtfooAdvisorTagHandlerltTag-classgt ltattributegt ltnamegtuserltnamegt ltrtexprevaluegtfalseltrtexprevaluegt ltattributegt lttaggt

태그를 사용하면 AdvisorTagHandler클래스에 있는 doTag()가 실행됩니다

false라면 속성은 문자열만 가능합니다 true라면 el표현식 스크립팅 표현식 표준액션이 가능합니다

lturlgtrandomlturigt lttaggt ltnamegtadviceltnamegt lttag-classgtfooAdvisorTagHandlerltTag-classgt ltbody-contentgtemptyltbody-contentgt ltattributegt ltnamegtuserltnamegt ltrtexprevaluegtfalseltrtexprevaluegt ltattributegt lttaggt

scriptless-gt스크립팅 불가능 tagdependent-gt텍스트로 JSP-gtjsp안이라면 무엇이든

TLD 파일은 있어야할 자리가 정해져 있어서 컨테이너가 알아서 매핑해줍니다

else if문choose -gt else if 문을 쓰겠음 when -gt if 두번째부터 else if otherwise-gt else

참 쉽죠

ltc choosegt ltc when test = ldquo$helliprdquogt ltc whengt ltc when test = ldquo$helliprdquogt ltc whengt ltc otherwisegt ltcotherwisegt ltcchoosegt

변수(속성) 만들기

ltc set var = ldquouserLevelrdquo scope=ldquosessionrdquo value=ldquocowrdquogt

var -gt 변수명 scope -gt 어디에 변수를 만들지 value -gt 변수에 할당할 값

ltc set var = ldquouserLevelrdquo scope=ldquosessionrdquo gt cow cowgirl cowboy ltcsetgt

변수(속성) 만들기

ltc set var = ldquouserLevelrdquo scope=ldquosessionrdquo value=ldquocowrdquogt

빈이나 맵일 경우hellip target -gt 객체

ltc set var = ldquouserLevelrdquo scope=ldquosessionrdquo gt cow cowgirl cowboy ltcsetgt

변수(속성) 지우기ltc remove var=ldquouserStatusrdquo scope=ldquorequestrdquogt

userStatus라는 속성은 지워집니다

includeinclude 하는 방법 추가 url을 가져오기에 외부 자원도 포함됨

ltc import url=ldquohttphelliphelliprdquogt

ltc import url=ldquohttpHeaderjsprdquogt ltc param name=ldquosubTitlerdquo value=ldquoddddddrdquogt ltcimportgt

표준액션과 마찬가지로 param을 매개변수 처럼 사용할 수 있습니다

URL 재작성responseencodeURL(ldquohelliprdquo)이것도 할 수 있어요

ltc url value=lsquoinputCommentsjsprsquogt

lsquovalue로 들어가는 경로 뒤에 세션아이디 붙여줘rsquo 라는 말입니다

URL 인코딩URL로 못들어가는 애들은 ltcparamgt을 거쳐야해요

ltc url value = ldquoinputCommentsjsprdquo var = ldquoinputURLgt ltc param name=ldquofirstNamerdquo value=ldquo$firstrdquogt ltcurlgt

오류페이지 만들기lt page isErrorPage=ldquotruerdquogt

lt page errorPage=ldquoerrorPagejsprdquogt

페이지 지시자로 이 페이지는 에러 페이지입니다 라고 말해줍니다

이 페이지의 에러페이지는 쟤에요 문제 있으면 쟤한테 가세요 만약에 이게 없으면 어떻게 될까요

디폴트 에러페이지 설정없으면 컨테이너가 DD를 찾아봐요

lterror-pagegt ltexception-typegt javalangThrowableltexception-typegt ltlocationgterrorPagejspltlocationgt lterror-pagegt

를 바꾸면 특정 오류페이지에 대해 처리할 수 있고 응답 상태코드에 따라 처리할 수도 있어욧 lterror-codegt404lterror-codegt exception 내장 객체를 사용할 수도 있어요

String getMessage() -gt 발생된 예외의 메시지를 리턴한다

String toString() -gt 발생된 예외 클래스명과 메시지를 리턴한다

String pritnStackTrace() -gt 발생된 예외를 역추적하기 위해 표준 예외 스트림을 출력한다 예외 발생시 예외가 발생한 곳을 알아낼 때 주로 사용

된다

try catch 대용trycatch랑 좀 달라요 catch하면 바로 catch블록의 끝으로 가요

ltc catchgt 오류 ltccatchgt 오류 있으면 실행

ltc catch var=ldquomyExceptionrdquogt 예외가 있을때 exception 객체를 쓰고 싶으면 이렇게 합니다

what is TLDA 커스텀 태그를 쓰기위해 필요한 일종의 DD라고 생각하면 됩니다

lturlgtrandomlturigt lttaggt ltnamegtadviceltnamegt ltattributegt ltnamegtuserltnamegt ltattributegt lttaggt

lt taglib prefix=ldquomyrdquo uri = ldquorandomrdquogt ltmy advice user = ldquo$userNamerdquogt

lturlgtrandomlturigt lttaggt ltnamegtadviceltnamegt lttag-classgtfooAdvisorTagHandlerltTag-classgt ltattributegt ltnamegtuserltnamegt ltrtexprevaluegtfalseltrtexprevaluegt ltattributegt lttaggt

태그를 사용하면 AdvisorTagHandler클래스에 있는 doTag()가 실행됩니다

false라면 속성은 문자열만 가능합니다 true라면 el표현식 스크립팅 표현식 표준액션이 가능합니다

lturlgtrandomlturigt lttaggt ltnamegtadviceltnamegt lttag-classgtfooAdvisorTagHandlerltTag-classgt ltbody-contentgtemptyltbody-contentgt ltattributegt ltnamegtuserltnamegt ltrtexprevaluegtfalseltrtexprevaluegt ltattributegt lttaggt

scriptless-gt스크립팅 불가능 tagdependent-gt텍스트로 JSP-gtjsp안이라면 무엇이든

TLD 파일은 있어야할 자리가 정해져 있어서 컨테이너가 알아서 매핑해줍니다

변수(속성) 만들기

ltc set var = ldquouserLevelrdquo scope=ldquosessionrdquo value=ldquocowrdquogt

var -gt 변수명 scope -gt 어디에 변수를 만들지 value -gt 변수에 할당할 값

ltc set var = ldquouserLevelrdquo scope=ldquosessionrdquo gt cow cowgirl cowboy ltcsetgt

변수(속성) 만들기

ltc set var = ldquouserLevelrdquo scope=ldquosessionrdquo value=ldquocowrdquogt

빈이나 맵일 경우hellip target -gt 객체

ltc set var = ldquouserLevelrdquo scope=ldquosessionrdquo gt cow cowgirl cowboy ltcsetgt

변수(속성) 지우기ltc remove var=ldquouserStatusrdquo scope=ldquorequestrdquogt

userStatus라는 속성은 지워집니다

includeinclude 하는 방법 추가 url을 가져오기에 외부 자원도 포함됨

ltc import url=ldquohttphelliphelliprdquogt

ltc import url=ldquohttpHeaderjsprdquogt ltc param name=ldquosubTitlerdquo value=ldquoddddddrdquogt ltcimportgt

표준액션과 마찬가지로 param을 매개변수 처럼 사용할 수 있습니다

URL 재작성responseencodeURL(ldquohelliprdquo)이것도 할 수 있어요

ltc url value=lsquoinputCommentsjsprsquogt

lsquovalue로 들어가는 경로 뒤에 세션아이디 붙여줘rsquo 라는 말입니다

URL 인코딩URL로 못들어가는 애들은 ltcparamgt을 거쳐야해요

ltc url value = ldquoinputCommentsjsprdquo var = ldquoinputURLgt ltc param name=ldquofirstNamerdquo value=ldquo$firstrdquogt ltcurlgt

오류페이지 만들기lt page isErrorPage=ldquotruerdquogt

lt page errorPage=ldquoerrorPagejsprdquogt

페이지 지시자로 이 페이지는 에러 페이지입니다 라고 말해줍니다

이 페이지의 에러페이지는 쟤에요 문제 있으면 쟤한테 가세요 만약에 이게 없으면 어떻게 될까요

디폴트 에러페이지 설정없으면 컨테이너가 DD를 찾아봐요

lterror-pagegt ltexception-typegt javalangThrowableltexception-typegt ltlocationgterrorPagejspltlocationgt lterror-pagegt

를 바꾸면 특정 오류페이지에 대해 처리할 수 있고 응답 상태코드에 따라 처리할 수도 있어욧 lterror-codegt404lterror-codegt exception 내장 객체를 사용할 수도 있어요

String getMessage() -gt 발생된 예외의 메시지를 리턴한다

String toString() -gt 발생된 예외 클래스명과 메시지를 리턴한다

String pritnStackTrace() -gt 발생된 예외를 역추적하기 위해 표준 예외 스트림을 출력한다 예외 발생시 예외가 발생한 곳을 알아낼 때 주로 사용

된다

try catch 대용trycatch랑 좀 달라요 catch하면 바로 catch블록의 끝으로 가요

ltc catchgt 오류 ltccatchgt 오류 있으면 실행

ltc catch var=ldquomyExceptionrdquogt 예외가 있을때 exception 객체를 쓰고 싶으면 이렇게 합니다

what is TLDA 커스텀 태그를 쓰기위해 필요한 일종의 DD라고 생각하면 됩니다

lturlgtrandomlturigt lttaggt ltnamegtadviceltnamegt ltattributegt ltnamegtuserltnamegt ltattributegt lttaggt

lt taglib prefix=ldquomyrdquo uri = ldquorandomrdquogt ltmy advice user = ldquo$userNamerdquogt

lturlgtrandomlturigt lttaggt ltnamegtadviceltnamegt lttag-classgtfooAdvisorTagHandlerltTag-classgt ltattributegt ltnamegtuserltnamegt ltrtexprevaluegtfalseltrtexprevaluegt ltattributegt lttaggt

태그를 사용하면 AdvisorTagHandler클래스에 있는 doTag()가 실행됩니다

false라면 속성은 문자열만 가능합니다 true라면 el표현식 스크립팅 표현식 표준액션이 가능합니다

lturlgtrandomlturigt lttaggt ltnamegtadviceltnamegt lttag-classgtfooAdvisorTagHandlerltTag-classgt ltbody-contentgtemptyltbody-contentgt ltattributegt ltnamegtuserltnamegt ltrtexprevaluegtfalseltrtexprevaluegt ltattributegt lttaggt

scriptless-gt스크립팅 불가능 tagdependent-gt텍스트로 JSP-gtjsp안이라면 무엇이든

TLD 파일은 있어야할 자리가 정해져 있어서 컨테이너가 알아서 매핑해줍니다

변수(속성) 만들기

ltc set var = ldquouserLevelrdquo scope=ldquosessionrdquo value=ldquocowrdquogt

빈이나 맵일 경우hellip target -gt 객체

ltc set var = ldquouserLevelrdquo scope=ldquosessionrdquo gt cow cowgirl cowboy ltcsetgt

변수(속성) 지우기ltc remove var=ldquouserStatusrdquo scope=ldquorequestrdquogt

userStatus라는 속성은 지워집니다

includeinclude 하는 방법 추가 url을 가져오기에 외부 자원도 포함됨

ltc import url=ldquohttphelliphelliprdquogt

ltc import url=ldquohttpHeaderjsprdquogt ltc param name=ldquosubTitlerdquo value=ldquoddddddrdquogt ltcimportgt

표준액션과 마찬가지로 param을 매개변수 처럼 사용할 수 있습니다

URL 재작성responseencodeURL(ldquohelliprdquo)이것도 할 수 있어요

ltc url value=lsquoinputCommentsjsprsquogt

lsquovalue로 들어가는 경로 뒤에 세션아이디 붙여줘rsquo 라는 말입니다

URL 인코딩URL로 못들어가는 애들은 ltcparamgt을 거쳐야해요

ltc url value = ldquoinputCommentsjsprdquo var = ldquoinputURLgt ltc param name=ldquofirstNamerdquo value=ldquo$firstrdquogt ltcurlgt

오류페이지 만들기lt page isErrorPage=ldquotruerdquogt

lt page errorPage=ldquoerrorPagejsprdquogt

페이지 지시자로 이 페이지는 에러 페이지입니다 라고 말해줍니다

이 페이지의 에러페이지는 쟤에요 문제 있으면 쟤한테 가세요 만약에 이게 없으면 어떻게 될까요

디폴트 에러페이지 설정없으면 컨테이너가 DD를 찾아봐요

lterror-pagegt ltexception-typegt javalangThrowableltexception-typegt ltlocationgterrorPagejspltlocationgt lterror-pagegt

를 바꾸면 특정 오류페이지에 대해 처리할 수 있고 응답 상태코드에 따라 처리할 수도 있어욧 lterror-codegt404lterror-codegt exception 내장 객체를 사용할 수도 있어요

String getMessage() -gt 발생된 예외의 메시지를 리턴한다

String toString() -gt 발생된 예외 클래스명과 메시지를 리턴한다

String pritnStackTrace() -gt 발생된 예외를 역추적하기 위해 표준 예외 스트림을 출력한다 예외 발생시 예외가 발생한 곳을 알아낼 때 주로 사용

된다

try catch 대용trycatch랑 좀 달라요 catch하면 바로 catch블록의 끝으로 가요

ltc catchgt 오류 ltccatchgt 오류 있으면 실행

ltc catch var=ldquomyExceptionrdquogt 예외가 있을때 exception 객체를 쓰고 싶으면 이렇게 합니다

what is TLDA 커스텀 태그를 쓰기위해 필요한 일종의 DD라고 생각하면 됩니다

lturlgtrandomlturigt lttaggt ltnamegtadviceltnamegt ltattributegt ltnamegtuserltnamegt ltattributegt lttaggt

lt taglib prefix=ldquomyrdquo uri = ldquorandomrdquogt ltmy advice user = ldquo$userNamerdquogt

lturlgtrandomlturigt lttaggt ltnamegtadviceltnamegt lttag-classgtfooAdvisorTagHandlerltTag-classgt ltattributegt ltnamegtuserltnamegt ltrtexprevaluegtfalseltrtexprevaluegt ltattributegt lttaggt

태그를 사용하면 AdvisorTagHandler클래스에 있는 doTag()가 실행됩니다

false라면 속성은 문자열만 가능합니다 true라면 el표현식 스크립팅 표현식 표준액션이 가능합니다

lturlgtrandomlturigt lttaggt ltnamegtadviceltnamegt lttag-classgtfooAdvisorTagHandlerltTag-classgt ltbody-contentgtemptyltbody-contentgt ltattributegt ltnamegtuserltnamegt ltrtexprevaluegtfalseltrtexprevaluegt ltattributegt lttaggt

scriptless-gt스크립팅 불가능 tagdependent-gt텍스트로 JSP-gtjsp안이라면 무엇이든

TLD 파일은 있어야할 자리가 정해져 있어서 컨테이너가 알아서 매핑해줍니다

변수(속성) 지우기ltc remove var=ldquouserStatusrdquo scope=ldquorequestrdquogt

userStatus라는 속성은 지워집니다

includeinclude 하는 방법 추가 url을 가져오기에 외부 자원도 포함됨

ltc import url=ldquohttphelliphelliprdquogt

ltc import url=ldquohttpHeaderjsprdquogt ltc param name=ldquosubTitlerdquo value=ldquoddddddrdquogt ltcimportgt

표준액션과 마찬가지로 param을 매개변수 처럼 사용할 수 있습니다

URL 재작성responseencodeURL(ldquohelliprdquo)이것도 할 수 있어요

ltc url value=lsquoinputCommentsjsprsquogt

lsquovalue로 들어가는 경로 뒤에 세션아이디 붙여줘rsquo 라는 말입니다

URL 인코딩URL로 못들어가는 애들은 ltcparamgt을 거쳐야해요

ltc url value = ldquoinputCommentsjsprdquo var = ldquoinputURLgt ltc param name=ldquofirstNamerdquo value=ldquo$firstrdquogt ltcurlgt

오류페이지 만들기lt page isErrorPage=ldquotruerdquogt

lt page errorPage=ldquoerrorPagejsprdquogt

페이지 지시자로 이 페이지는 에러 페이지입니다 라고 말해줍니다

이 페이지의 에러페이지는 쟤에요 문제 있으면 쟤한테 가세요 만약에 이게 없으면 어떻게 될까요

디폴트 에러페이지 설정없으면 컨테이너가 DD를 찾아봐요

lterror-pagegt ltexception-typegt javalangThrowableltexception-typegt ltlocationgterrorPagejspltlocationgt lterror-pagegt

를 바꾸면 특정 오류페이지에 대해 처리할 수 있고 응답 상태코드에 따라 처리할 수도 있어욧 lterror-codegt404lterror-codegt exception 내장 객체를 사용할 수도 있어요

String getMessage() -gt 발생된 예외의 메시지를 리턴한다

String toString() -gt 발생된 예외 클래스명과 메시지를 리턴한다

String pritnStackTrace() -gt 발생된 예외를 역추적하기 위해 표준 예외 스트림을 출력한다 예외 발생시 예외가 발생한 곳을 알아낼 때 주로 사용

된다

try catch 대용trycatch랑 좀 달라요 catch하면 바로 catch블록의 끝으로 가요

ltc catchgt 오류 ltccatchgt 오류 있으면 실행

ltc catch var=ldquomyExceptionrdquogt 예외가 있을때 exception 객체를 쓰고 싶으면 이렇게 합니다

what is TLDA 커스텀 태그를 쓰기위해 필요한 일종의 DD라고 생각하면 됩니다

lturlgtrandomlturigt lttaggt ltnamegtadviceltnamegt ltattributegt ltnamegtuserltnamegt ltattributegt lttaggt

lt taglib prefix=ldquomyrdquo uri = ldquorandomrdquogt ltmy advice user = ldquo$userNamerdquogt

lturlgtrandomlturigt lttaggt ltnamegtadviceltnamegt lttag-classgtfooAdvisorTagHandlerltTag-classgt ltattributegt ltnamegtuserltnamegt ltrtexprevaluegtfalseltrtexprevaluegt ltattributegt lttaggt

태그를 사용하면 AdvisorTagHandler클래스에 있는 doTag()가 실행됩니다

false라면 속성은 문자열만 가능합니다 true라면 el표현식 스크립팅 표현식 표준액션이 가능합니다

lturlgtrandomlturigt lttaggt ltnamegtadviceltnamegt lttag-classgtfooAdvisorTagHandlerltTag-classgt ltbody-contentgtemptyltbody-contentgt ltattributegt ltnamegtuserltnamegt ltrtexprevaluegtfalseltrtexprevaluegt ltattributegt lttaggt

scriptless-gt스크립팅 불가능 tagdependent-gt텍스트로 JSP-gtjsp안이라면 무엇이든

TLD 파일은 있어야할 자리가 정해져 있어서 컨테이너가 알아서 매핑해줍니다

includeinclude 하는 방법 추가 url을 가져오기에 외부 자원도 포함됨

ltc import url=ldquohttphelliphelliprdquogt

ltc import url=ldquohttpHeaderjsprdquogt ltc param name=ldquosubTitlerdquo value=ldquoddddddrdquogt ltcimportgt

표준액션과 마찬가지로 param을 매개변수 처럼 사용할 수 있습니다

URL 재작성responseencodeURL(ldquohelliprdquo)이것도 할 수 있어요

ltc url value=lsquoinputCommentsjsprsquogt

lsquovalue로 들어가는 경로 뒤에 세션아이디 붙여줘rsquo 라는 말입니다

URL 인코딩URL로 못들어가는 애들은 ltcparamgt을 거쳐야해요

ltc url value = ldquoinputCommentsjsprdquo var = ldquoinputURLgt ltc param name=ldquofirstNamerdquo value=ldquo$firstrdquogt ltcurlgt

오류페이지 만들기lt page isErrorPage=ldquotruerdquogt

lt page errorPage=ldquoerrorPagejsprdquogt

페이지 지시자로 이 페이지는 에러 페이지입니다 라고 말해줍니다

이 페이지의 에러페이지는 쟤에요 문제 있으면 쟤한테 가세요 만약에 이게 없으면 어떻게 될까요

디폴트 에러페이지 설정없으면 컨테이너가 DD를 찾아봐요

lterror-pagegt ltexception-typegt javalangThrowableltexception-typegt ltlocationgterrorPagejspltlocationgt lterror-pagegt

를 바꾸면 특정 오류페이지에 대해 처리할 수 있고 응답 상태코드에 따라 처리할 수도 있어욧 lterror-codegt404lterror-codegt exception 내장 객체를 사용할 수도 있어요

String getMessage() -gt 발생된 예외의 메시지를 리턴한다

String toString() -gt 발생된 예외 클래스명과 메시지를 리턴한다

String pritnStackTrace() -gt 발생된 예외를 역추적하기 위해 표준 예외 스트림을 출력한다 예외 발생시 예외가 발생한 곳을 알아낼 때 주로 사용

된다

try catch 대용trycatch랑 좀 달라요 catch하면 바로 catch블록의 끝으로 가요

ltc catchgt 오류 ltccatchgt 오류 있으면 실행

ltc catch var=ldquomyExceptionrdquogt 예외가 있을때 exception 객체를 쓰고 싶으면 이렇게 합니다

what is TLDA 커스텀 태그를 쓰기위해 필요한 일종의 DD라고 생각하면 됩니다

lturlgtrandomlturigt lttaggt ltnamegtadviceltnamegt ltattributegt ltnamegtuserltnamegt ltattributegt lttaggt

lt taglib prefix=ldquomyrdquo uri = ldquorandomrdquogt ltmy advice user = ldquo$userNamerdquogt

lturlgtrandomlturigt lttaggt ltnamegtadviceltnamegt lttag-classgtfooAdvisorTagHandlerltTag-classgt ltattributegt ltnamegtuserltnamegt ltrtexprevaluegtfalseltrtexprevaluegt ltattributegt lttaggt

태그를 사용하면 AdvisorTagHandler클래스에 있는 doTag()가 실행됩니다

false라면 속성은 문자열만 가능합니다 true라면 el표현식 스크립팅 표현식 표준액션이 가능합니다

lturlgtrandomlturigt lttaggt ltnamegtadviceltnamegt lttag-classgtfooAdvisorTagHandlerltTag-classgt ltbody-contentgtemptyltbody-contentgt ltattributegt ltnamegtuserltnamegt ltrtexprevaluegtfalseltrtexprevaluegt ltattributegt lttaggt

scriptless-gt스크립팅 불가능 tagdependent-gt텍스트로 JSP-gtjsp안이라면 무엇이든

TLD 파일은 있어야할 자리가 정해져 있어서 컨테이너가 알아서 매핑해줍니다

URL 재작성responseencodeURL(ldquohelliprdquo)이것도 할 수 있어요

ltc url value=lsquoinputCommentsjsprsquogt

lsquovalue로 들어가는 경로 뒤에 세션아이디 붙여줘rsquo 라는 말입니다

URL 인코딩URL로 못들어가는 애들은 ltcparamgt을 거쳐야해요

ltc url value = ldquoinputCommentsjsprdquo var = ldquoinputURLgt ltc param name=ldquofirstNamerdquo value=ldquo$firstrdquogt ltcurlgt

오류페이지 만들기lt page isErrorPage=ldquotruerdquogt

lt page errorPage=ldquoerrorPagejsprdquogt

페이지 지시자로 이 페이지는 에러 페이지입니다 라고 말해줍니다

이 페이지의 에러페이지는 쟤에요 문제 있으면 쟤한테 가세요 만약에 이게 없으면 어떻게 될까요

디폴트 에러페이지 설정없으면 컨테이너가 DD를 찾아봐요

lterror-pagegt ltexception-typegt javalangThrowableltexception-typegt ltlocationgterrorPagejspltlocationgt lterror-pagegt

를 바꾸면 특정 오류페이지에 대해 처리할 수 있고 응답 상태코드에 따라 처리할 수도 있어욧 lterror-codegt404lterror-codegt exception 내장 객체를 사용할 수도 있어요

String getMessage() -gt 발생된 예외의 메시지를 리턴한다

String toString() -gt 발생된 예외 클래스명과 메시지를 리턴한다

String pritnStackTrace() -gt 발생된 예외를 역추적하기 위해 표준 예외 스트림을 출력한다 예외 발생시 예외가 발생한 곳을 알아낼 때 주로 사용

된다

try catch 대용trycatch랑 좀 달라요 catch하면 바로 catch블록의 끝으로 가요

ltc catchgt 오류 ltccatchgt 오류 있으면 실행

ltc catch var=ldquomyExceptionrdquogt 예외가 있을때 exception 객체를 쓰고 싶으면 이렇게 합니다

what is TLDA 커스텀 태그를 쓰기위해 필요한 일종의 DD라고 생각하면 됩니다

lturlgtrandomlturigt lttaggt ltnamegtadviceltnamegt ltattributegt ltnamegtuserltnamegt ltattributegt lttaggt

lt taglib prefix=ldquomyrdquo uri = ldquorandomrdquogt ltmy advice user = ldquo$userNamerdquogt

lturlgtrandomlturigt lttaggt ltnamegtadviceltnamegt lttag-classgtfooAdvisorTagHandlerltTag-classgt ltattributegt ltnamegtuserltnamegt ltrtexprevaluegtfalseltrtexprevaluegt ltattributegt lttaggt

태그를 사용하면 AdvisorTagHandler클래스에 있는 doTag()가 실행됩니다

false라면 속성은 문자열만 가능합니다 true라면 el표현식 스크립팅 표현식 표준액션이 가능합니다

lturlgtrandomlturigt lttaggt ltnamegtadviceltnamegt lttag-classgtfooAdvisorTagHandlerltTag-classgt ltbody-contentgtemptyltbody-contentgt ltattributegt ltnamegtuserltnamegt ltrtexprevaluegtfalseltrtexprevaluegt ltattributegt lttaggt

scriptless-gt스크립팅 불가능 tagdependent-gt텍스트로 JSP-gtjsp안이라면 무엇이든

TLD 파일은 있어야할 자리가 정해져 있어서 컨테이너가 알아서 매핑해줍니다

URL 인코딩URL로 못들어가는 애들은 ltcparamgt을 거쳐야해요

ltc url value = ldquoinputCommentsjsprdquo var = ldquoinputURLgt ltc param name=ldquofirstNamerdquo value=ldquo$firstrdquogt ltcurlgt

오류페이지 만들기lt page isErrorPage=ldquotruerdquogt

lt page errorPage=ldquoerrorPagejsprdquogt

페이지 지시자로 이 페이지는 에러 페이지입니다 라고 말해줍니다

이 페이지의 에러페이지는 쟤에요 문제 있으면 쟤한테 가세요 만약에 이게 없으면 어떻게 될까요

디폴트 에러페이지 설정없으면 컨테이너가 DD를 찾아봐요

lterror-pagegt ltexception-typegt javalangThrowableltexception-typegt ltlocationgterrorPagejspltlocationgt lterror-pagegt

를 바꾸면 특정 오류페이지에 대해 처리할 수 있고 응답 상태코드에 따라 처리할 수도 있어욧 lterror-codegt404lterror-codegt exception 내장 객체를 사용할 수도 있어요

String getMessage() -gt 발생된 예외의 메시지를 리턴한다

String toString() -gt 발생된 예외 클래스명과 메시지를 리턴한다

String pritnStackTrace() -gt 발생된 예외를 역추적하기 위해 표준 예외 스트림을 출력한다 예외 발생시 예외가 발생한 곳을 알아낼 때 주로 사용

된다

try catch 대용trycatch랑 좀 달라요 catch하면 바로 catch블록의 끝으로 가요

ltc catchgt 오류 ltccatchgt 오류 있으면 실행

ltc catch var=ldquomyExceptionrdquogt 예외가 있을때 exception 객체를 쓰고 싶으면 이렇게 합니다

what is TLDA 커스텀 태그를 쓰기위해 필요한 일종의 DD라고 생각하면 됩니다

lturlgtrandomlturigt lttaggt ltnamegtadviceltnamegt ltattributegt ltnamegtuserltnamegt ltattributegt lttaggt

lt taglib prefix=ldquomyrdquo uri = ldquorandomrdquogt ltmy advice user = ldquo$userNamerdquogt

lturlgtrandomlturigt lttaggt ltnamegtadviceltnamegt lttag-classgtfooAdvisorTagHandlerltTag-classgt ltattributegt ltnamegtuserltnamegt ltrtexprevaluegtfalseltrtexprevaluegt ltattributegt lttaggt

태그를 사용하면 AdvisorTagHandler클래스에 있는 doTag()가 실행됩니다

false라면 속성은 문자열만 가능합니다 true라면 el표현식 스크립팅 표현식 표준액션이 가능합니다

lturlgtrandomlturigt lttaggt ltnamegtadviceltnamegt lttag-classgtfooAdvisorTagHandlerltTag-classgt ltbody-contentgtemptyltbody-contentgt ltattributegt ltnamegtuserltnamegt ltrtexprevaluegtfalseltrtexprevaluegt ltattributegt lttaggt

scriptless-gt스크립팅 불가능 tagdependent-gt텍스트로 JSP-gtjsp안이라면 무엇이든

TLD 파일은 있어야할 자리가 정해져 있어서 컨테이너가 알아서 매핑해줍니다

오류페이지 만들기lt page isErrorPage=ldquotruerdquogt

lt page errorPage=ldquoerrorPagejsprdquogt

페이지 지시자로 이 페이지는 에러 페이지입니다 라고 말해줍니다

이 페이지의 에러페이지는 쟤에요 문제 있으면 쟤한테 가세요 만약에 이게 없으면 어떻게 될까요

디폴트 에러페이지 설정없으면 컨테이너가 DD를 찾아봐요

lterror-pagegt ltexception-typegt javalangThrowableltexception-typegt ltlocationgterrorPagejspltlocationgt lterror-pagegt

를 바꾸면 특정 오류페이지에 대해 처리할 수 있고 응답 상태코드에 따라 처리할 수도 있어욧 lterror-codegt404lterror-codegt exception 내장 객체를 사용할 수도 있어요

String getMessage() -gt 발생된 예외의 메시지를 리턴한다

String toString() -gt 발생된 예외 클래스명과 메시지를 리턴한다

String pritnStackTrace() -gt 발생된 예외를 역추적하기 위해 표준 예외 스트림을 출력한다 예외 발생시 예외가 발생한 곳을 알아낼 때 주로 사용

된다

try catch 대용trycatch랑 좀 달라요 catch하면 바로 catch블록의 끝으로 가요

ltc catchgt 오류 ltccatchgt 오류 있으면 실행

ltc catch var=ldquomyExceptionrdquogt 예외가 있을때 exception 객체를 쓰고 싶으면 이렇게 합니다

what is TLDA 커스텀 태그를 쓰기위해 필요한 일종의 DD라고 생각하면 됩니다

lturlgtrandomlturigt lttaggt ltnamegtadviceltnamegt ltattributegt ltnamegtuserltnamegt ltattributegt lttaggt

lt taglib prefix=ldquomyrdquo uri = ldquorandomrdquogt ltmy advice user = ldquo$userNamerdquogt

lturlgtrandomlturigt lttaggt ltnamegtadviceltnamegt lttag-classgtfooAdvisorTagHandlerltTag-classgt ltattributegt ltnamegtuserltnamegt ltrtexprevaluegtfalseltrtexprevaluegt ltattributegt lttaggt

태그를 사용하면 AdvisorTagHandler클래스에 있는 doTag()가 실행됩니다

false라면 속성은 문자열만 가능합니다 true라면 el표현식 스크립팅 표현식 표준액션이 가능합니다

lturlgtrandomlturigt lttaggt ltnamegtadviceltnamegt lttag-classgtfooAdvisorTagHandlerltTag-classgt ltbody-contentgtemptyltbody-contentgt ltattributegt ltnamegtuserltnamegt ltrtexprevaluegtfalseltrtexprevaluegt ltattributegt lttaggt

scriptless-gt스크립팅 불가능 tagdependent-gt텍스트로 JSP-gtjsp안이라면 무엇이든

TLD 파일은 있어야할 자리가 정해져 있어서 컨테이너가 알아서 매핑해줍니다

디폴트 에러페이지 설정없으면 컨테이너가 DD를 찾아봐요

lterror-pagegt ltexception-typegt javalangThrowableltexception-typegt ltlocationgterrorPagejspltlocationgt lterror-pagegt

를 바꾸면 특정 오류페이지에 대해 처리할 수 있고 응답 상태코드에 따라 처리할 수도 있어욧 lterror-codegt404lterror-codegt exception 내장 객체를 사용할 수도 있어요

String getMessage() -gt 발생된 예외의 메시지를 리턴한다

String toString() -gt 발생된 예외 클래스명과 메시지를 리턴한다

String pritnStackTrace() -gt 발생된 예외를 역추적하기 위해 표준 예외 스트림을 출력한다 예외 발생시 예외가 발생한 곳을 알아낼 때 주로 사용

된다

try catch 대용trycatch랑 좀 달라요 catch하면 바로 catch블록의 끝으로 가요

ltc catchgt 오류 ltccatchgt 오류 있으면 실행

ltc catch var=ldquomyExceptionrdquogt 예외가 있을때 exception 객체를 쓰고 싶으면 이렇게 합니다

what is TLDA 커스텀 태그를 쓰기위해 필요한 일종의 DD라고 생각하면 됩니다

lturlgtrandomlturigt lttaggt ltnamegtadviceltnamegt ltattributegt ltnamegtuserltnamegt ltattributegt lttaggt

lt taglib prefix=ldquomyrdquo uri = ldquorandomrdquogt ltmy advice user = ldquo$userNamerdquogt

lturlgtrandomlturigt lttaggt ltnamegtadviceltnamegt lttag-classgtfooAdvisorTagHandlerltTag-classgt ltattributegt ltnamegtuserltnamegt ltrtexprevaluegtfalseltrtexprevaluegt ltattributegt lttaggt

태그를 사용하면 AdvisorTagHandler클래스에 있는 doTag()가 실행됩니다

false라면 속성은 문자열만 가능합니다 true라면 el표현식 스크립팅 표현식 표준액션이 가능합니다

lturlgtrandomlturigt lttaggt ltnamegtadviceltnamegt lttag-classgtfooAdvisorTagHandlerltTag-classgt ltbody-contentgtemptyltbody-contentgt ltattributegt ltnamegtuserltnamegt ltrtexprevaluegtfalseltrtexprevaluegt ltattributegt lttaggt

scriptless-gt스크립팅 불가능 tagdependent-gt텍스트로 JSP-gtjsp안이라면 무엇이든

TLD 파일은 있어야할 자리가 정해져 있어서 컨테이너가 알아서 매핑해줍니다

String getMessage() -gt 발생된 예외의 메시지를 리턴한다

String toString() -gt 발생된 예외 클래스명과 메시지를 리턴한다

String pritnStackTrace() -gt 발생된 예외를 역추적하기 위해 표준 예외 스트림을 출력한다 예외 발생시 예외가 발생한 곳을 알아낼 때 주로 사용

된다

try catch 대용trycatch랑 좀 달라요 catch하면 바로 catch블록의 끝으로 가요

ltc catchgt 오류 ltccatchgt 오류 있으면 실행

ltc catch var=ldquomyExceptionrdquogt 예외가 있을때 exception 객체를 쓰고 싶으면 이렇게 합니다

what is TLDA 커스텀 태그를 쓰기위해 필요한 일종의 DD라고 생각하면 됩니다

lturlgtrandomlturigt lttaggt ltnamegtadviceltnamegt ltattributegt ltnamegtuserltnamegt ltattributegt lttaggt

lt taglib prefix=ldquomyrdquo uri = ldquorandomrdquogt ltmy advice user = ldquo$userNamerdquogt

lturlgtrandomlturigt lttaggt ltnamegtadviceltnamegt lttag-classgtfooAdvisorTagHandlerltTag-classgt ltattributegt ltnamegtuserltnamegt ltrtexprevaluegtfalseltrtexprevaluegt ltattributegt lttaggt

태그를 사용하면 AdvisorTagHandler클래스에 있는 doTag()가 실행됩니다

false라면 속성은 문자열만 가능합니다 true라면 el표현식 스크립팅 표현식 표준액션이 가능합니다

lturlgtrandomlturigt lttaggt ltnamegtadviceltnamegt lttag-classgtfooAdvisorTagHandlerltTag-classgt ltbody-contentgtemptyltbody-contentgt ltattributegt ltnamegtuserltnamegt ltrtexprevaluegtfalseltrtexprevaluegt ltattributegt lttaggt

scriptless-gt스크립팅 불가능 tagdependent-gt텍스트로 JSP-gtjsp안이라면 무엇이든

TLD 파일은 있어야할 자리가 정해져 있어서 컨테이너가 알아서 매핑해줍니다

try catch 대용trycatch랑 좀 달라요 catch하면 바로 catch블록의 끝으로 가요

ltc catchgt 오류 ltccatchgt 오류 있으면 실행

ltc catch var=ldquomyExceptionrdquogt 예외가 있을때 exception 객체를 쓰고 싶으면 이렇게 합니다

what is TLDA 커스텀 태그를 쓰기위해 필요한 일종의 DD라고 생각하면 됩니다

lturlgtrandomlturigt lttaggt ltnamegtadviceltnamegt ltattributegt ltnamegtuserltnamegt ltattributegt lttaggt

lt taglib prefix=ldquomyrdquo uri = ldquorandomrdquogt ltmy advice user = ldquo$userNamerdquogt

lturlgtrandomlturigt lttaggt ltnamegtadviceltnamegt lttag-classgtfooAdvisorTagHandlerltTag-classgt ltattributegt ltnamegtuserltnamegt ltrtexprevaluegtfalseltrtexprevaluegt ltattributegt lttaggt

태그를 사용하면 AdvisorTagHandler클래스에 있는 doTag()가 실행됩니다

false라면 속성은 문자열만 가능합니다 true라면 el표현식 스크립팅 표현식 표준액션이 가능합니다

lturlgtrandomlturigt lttaggt ltnamegtadviceltnamegt lttag-classgtfooAdvisorTagHandlerltTag-classgt ltbody-contentgtemptyltbody-contentgt ltattributegt ltnamegtuserltnamegt ltrtexprevaluegtfalseltrtexprevaluegt ltattributegt lttaggt

scriptless-gt스크립팅 불가능 tagdependent-gt텍스트로 JSP-gtjsp안이라면 무엇이든

TLD 파일은 있어야할 자리가 정해져 있어서 컨테이너가 알아서 매핑해줍니다

what is TLDA 커스텀 태그를 쓰기위해 필요한 일종의 DD라고 생각하면 됩니다

lturlgtrandomlturigt lttaggt ltnamegtadviceltnamegt ltattributegt ltnamegtuserltnamegt ltattributegt lttaggt

lt taglib prefix=ldquomyrdquo uri = ldquorandomrdquogt ltmy advice user = ldquo$userNamerdquogt

lturlgtrandomlturigt lttaggt ltnamegtadviceltnamegt lttag-classgtfooAdvisorTagHandlerltTag-classgt ltattributegt ltnamegtuserltnamegt ltrtexprevaluegtfalseltrtexprevaluegt ltattributegt lttaggt

태그를 사용하면 AdvisorTagHandler클래스에 있는 doTag()가 실행됩니다

false라면 속성은 문자열만 가능합니다 true라면 el표현식 스크립팅 표현식 표준액션이 가능합니다

lturlgtrandomlturigt lttaggt ltnamegtadviceltnamegt lttag-classgtfooAdvisorTagHandlerltTag-classgt ltbody-contentgtemptyltbody-contentgt ltattributegt ltnamegtuserltnamegt ltrtexprevaluegtfalseltrtexprevaluegt ltattributegt lttaggt

scriptless-gt스크립팅 불가능 tagdependent-gt텍스트로 JSP-gtjsp안이라면 무엇이든

TLD 파일은 있어야할 자리가 정해져 있어서 컨테이너가 알아서 매핑해줍니다

lturlgtrandomlturigt lttaggt ltnamegtadviceltnamegt lttag-classgtfooAdvisorTagHandlerltTag-classgt ltattributegt ltnamegtuserltnamegt ltrtexprevaluegtfalseltrtexprevaluegt ltattributegt lttaggt

태그를 사용하면 AdvisorTagHandler클래스에 있는 doTag()가 실행됩니다

false라면 속성은 문자열만 가능합니다 true라면 el표현식 스크립팅 표현식 표준액션이 가능합니다

lturlgtrandomlturigt lttaggt ltnamegtadviceltnamegt lttag-classgtfooAdvisorTagHandlerltTag-classgt ltbody-contentgtemptyltbody-contentgt ltattributegt ltnamegtuserltnamegt ltrtexprevaluegtfalseltrtexprevaluegt ltattributegt lttaggt

scriptless-gt스크립팅 불가능 tagdependent-gt텍스트로 JSP-gtjsp안이라면 무엇이든

TLD 파일은 있어야할 자리가 정해져 있어서 컨테이너가 알아서 매핑해줍니다

lturlgtrandomlturigt lttaggt ltnamegtadviceltnamegt lttag-classgtfooAdvisorTagHandlerltTag-classgt ltbody-contentgtemptyltbody-contentgt ltattributegt ltnamegtuserltnamegt ltrtexprevaluegtfalseltrtexprevaluegt ltattributegt lttaggt

scriptless-gt스크립팅 불가능 tagdependent-gt텍스트로 JSP-gtjsp안이라면 무엇이든

TLD 파일은 있어야할 자리가 정해져 있어서 컨테이너가 알아서 매핑해줍니다

top related