jsp 14

servlet & jsp

servlet java코드안의 html 코드 controller단 사용 DB와 통신 시 데이터를 읽고 확인하는 작업에 유용 HttpServlet을 상속 받아 사용 servlet이 수정된 경우, JAVA코드를 컴파일한 후 동적으로 페이지를 처리하기 때문에 전체 코드를 업데이트를 하고 다시 컴파일한 후 재배보하는 작업이 필요(개발 생산성 저하) jsp html코드안의 java코드 view단 사용 요청 결과를 나타내는 html에서 작성하는데 유용 jsp가 수정된 경우 재배포할 필요가 없이 was가 알아서 처리함(쉬운배포)

09.11(JSTL Xml Tags)

Xml Tags XML 태그를 사용하기 위해서는 별도의 라이브러리 2개를 설치해야 함 다음에 해당하는 두 개의 라이브러리를 다운 받아 /WEB-INF/lib/에 추가하기 xalan.jar & Xerceslmpl.jar 설치 http://apache.mirror.cdnetworks.com/xalan/xalan-j/binaries/ xml tag 선언 설치하지 않으면 java.lang.NoClassDefFoundError가 발생하기 때문에 반드시 설치해야 함 xalan.jar 라이브러리 등록 xalan-j_2_7_2-bin.zip 파일을 다운 받은 후, 압축을 해제하여 내장된 .jar 파일들을 라이브러리에 등록 태그 JSP 태그와 유사하나, XPath 표현식을 사용 select 속성에 사용하는 xml 객체를..

프로그래밍/JSP 2020.09.11

09.10(JSTL Function)

JSTL Function 문자열 처리에 관한 메소드들을 EL 형식에서 사용할 수 있게 제공하는 라이브러리로, 다른 JSTL 태그들과는 다르게 ${fn:메소드명(문자열)} 의 형식으로 EL 태그에 직접 대입하여 사용 선언 방식과 예시> Found test string JSTL Function 종류 함수명 설명 fn:contains(str, ‘text’) str에 두번째 인자 값의 내용이 포함되어 있는지 확인 fn:containsIgnoreCase(str, ‘text') str에 대소문자 구분 없이 ‘text’값이 포함되어 있는지 확인 fn:startsWith(str, ‘text’) 문자열 str이 ‘text’로 시작하는지 확인 fn:endsWith(str, ‘text’) 문자열 str이 ‘text’로 끝나..

프로그래밍/JSP 2020.09.10

09.09(JSTL Formatting Tags)

표현하고자 하는 숫자의 포맷을 통화 기호, ‘ , ’ 표시, %표시 등 원하는 쓰임에 맞게 지정할 수 있음 예시> 포맷 방식 세자리 구분 : 포맷 방식 통화 기호 : 포맷 방식 백분율 : maxIntegerDigits 및 minIntegerDigits의 속성으로 표시하고자 하는 수의 단위를 표현할 수 있음 숫자가 지정한 최대값을 초과할 경우 해당 자릿수만큼만 표시됨 예시> minFractionalDigits 및 maxFractionalDigits의 속성은 소수 자릿수를 지정할 수 있으며, 숫자가 최소 자릿수를 초과할 시 자동 반올림이 됨 패턴 속성을 사용하여 숫자 포맷 방법을 지정할 수 있음 예시> 날짜나 시간의 포맷방식을 지정하여 화면에 보여줄 때 사용 value 속성으로 java.util.Date()..

프로그래밍/JSP 2020.09.09

09.08(JSTL Core Tags3 - <c:choose>, <c:forEach>, <c:forTokens>, <c:url>)

태그 자바 프로그램의 switch 문과 비슷한 역할을 하는 태그 , 태그와 함께 사용되는데, 각각 switch 문의 case, default 절과 비슷한 역할을 함 처음 뵙겠습니다. 다시 뵙게 되어 반갑습니다. 안녕하세요. 태그 자바의 for, for-in문에 해당하는 기능을 제공 items 반복할 객체 명 (Collection 객체) begin 반복이 시작할 요소 번호 (0 … n) end 반복이 끝나는 요소 번호 step 반복할 횟수 번호 var 현재 반복 횟수에 해당하는 변수의 이름 varStaus 현재 반복에 해당하는 객체의 요소 예시> 반복문 태그 varStatus는 다음과 같은 속성을 가짐 태그 설명 사용법 current 현재 반복 횟수를 나타냄 상태값 명.current index 반복 라운드..

프로그래밍/JSP 2020.09.08

09.07(JSTL Core Tags2 - <c:remove>, <c:out>, <c:if>)

태그 배열 설정 을 이용해서 선언한 변수는 page, request, session, application 영역에 속성으로 저장되기 때문에 삭제해야 할 필요가 있음 이 때 사용하는 태그가 태그임 scope 속성을 정의하지 않으면 page, request, session, application 영역에 저장되어있는 num 이라는 이름의 속성을 모두 찾아서 제거해야 함 태그 태그는 데이터를 출력할 때 사용하는 태그 , & 특수 문자를 자동으로 이스케이프 시퀀스(escape sequance)로 바꿔줌 특수문자 이스케이프 시퀀스(escape sequance) > & & 예시>

프로그래밍/JSP 2020.09.07

09.04(JSTL Core Tags1 - <c:set>)

태그 은 변수를 선언하고 나서 그 변수에 초기값을 대입하는 기능의 태그로, 자바에서 변수를 선언하는 방법과 비슷함 Java 변수 선언 방식 변수타입 변수명 = 초기값; int num = 100; 변수 선언 방식 사용법 에서의 변수 타입은 별도로 선언하지 않음 초기값은 반드시 기술해야 함 으로 선언한 변수는 EL 식 안에서 사용할 수 있지만 JSP 같은 스크립트릿 요소에서는 사용할 수 없음 … // 에서 선언한 변수는 EL식 안에서 사용가능함 ${num} 에서 선언한 변수를 JSP 스크립팅 요소에서 쓰는 것은 불가능하지만, 반대로 스크립팅 요소 안에서 선언한 변수를 의 value 속성에 사용하는 것은 가능함 //JSP 스크립트 요소의 변수를 value 속성에서 사용할 수 있음 ${sum} 실습 JSTL C..

프로그래밍/JSP 2020.09.04

09.03(EL & JSTL)

EL(Expression Language) JSP 2.0 버전에서 추가된 것으로 , out.print()와 같이 JSP에 쓰이는 Java 코드를 간결하게 사용하는 방법 화면에 표현하고자 하는 코드를 ${ value }의 형식으로 표현하여 작성하는 것 사용 문법과 예시 ${ value } ${ param.name } EL 연산자 기호 일반 연산자 EL 기호 연산자 덧셈, 뺄셈 +, - +, - 곱셈, 나눗셈 *, / *, div 나머지 연산 % mod and 연산 && and or 연산 || or ! 연산 ! not ~보다 작다 > lt (less than) ~보다 크다 = le (less or equal) 크거나 같다

프로그래밍/JSP 2020.09.03

08.28(MVC 아키텍쳐)

Model-View-Controller 웹 어플리케이션 개발 시 MVC 패턴을 적용하여 각각의 역할 별 작업이 가능 하도록 분담하는 설계 패턴을 의미 Model 웹 애플리케이션의 비즈니스 로직, 수행할 서비스를 담당 Service 여러 DAO를 호출하여 데이터 접근/갱신을 하고, 그렇게 읽은 데이터에 대한 비즈니스 로직을 수행하여 Controller에 그 결과를 전송하는 클래스 DAO (Data Access Object) 데이터베이스에 직접 접근하여 요청 받은 결과를 반환하는 클래스 VO (Value Object) 계층 간 데이터 교환을 위한 객체 클래스를 말한다. 동의어 : DTO(Data Transfer Object), Domain Object, Bean, Entity VO의 동의어들은 그 유래에 따..

프로그래밍/JSP 2020.08.28

08.26(JSP Exception 처리)

JSP Exception 처리 JSP 페이지에서 발생하는 Exception을 처리하기 위해서는 별도의 예외 처리 페이지를 지정 하나의 JSP 페이지에 대한 예외 처리 페이지는 하나만 지정할 수 있기 때문에 예외마다 다른 예외 처리는 불가능 에러 발생 페이지 작성 JSP 에러 테스트 페이지 str 문자열 길이 : 개 에러 처리 페이지 작성 에러가 발생하였습니다! 에러 종류 :

프로그래밍/JSP 2020.08.26