headfisrt servlet&jsp chapter 9
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 파일은 있어야할 자리가 정해져 있어서 컨테이너가 알아서 매핑해줍니다