본문 바로가기

IT Study/JSP24

JSP - 리스너클래스/JSTL | 리스너클래스 서블릿처럼 POJO가 아닌 클래스 특수한 형태의 서블릿 어떤 동작을 모니터링(감지)할지 선택할 수 있음 => 해당 동작을 감지하면, 본인을 자동호출할 수 있게됨 => 톰캣의 시작 ​ | JSTL​(JavaServer Pages Standard Tag Library) 일반적으로 알고있는 JSTL이란 JSTL + EL의 조합을 의미 예전에는 스크립틀릿을 많이 사용했지만 가독성이 떨어지고, 뷰와 비즈니스로직의 분리로 인해 현재는 JSTL을 많이 사용하는 추세 JSTL과 EL은 보통 함께 사용한다. JSTL은 JSP 페이지 내에서 자바 코드를 바로 사용하지 않고 로직을 내장하는 효율적인 방법을 제공 ​ JSTL 사용법 해당 라이브러리 파일을 압축해제 후 프로젝트의 WEB-INF 폴더에 lib 폴.. 2023. 1. 4.
JSP - 커스텀태그(태그핸들러 클래스 기반) | 태그 핸들러 클래스 기반의 커스텀태그 태그핸들러클래스(.java 파일) 태그라이브러리기술자(.tld 파일) -> WEB-INF/tld 폴더 .xml 파일 => 설정과 관련된 파일 ​ tld 파일 생성하는 방법 https://hhyyyjun.tistory.com/189 .tld(xml 파일) 생성하기 1. 따로 관리할 tld 폴더 생성 ​ 2. xml 파일을 선택하여 Filename 입력 후 .tld >> next 클릭 ​ 3. 윗부분의 create file using a DTD or XML Schema file 선택 후 Next > ​ 4. 두번쨰의 Select XML 선택 후 플러그인에서 ht hhyyyjun.tistory.com .tld 파일의 태그바디 구조 커스텀태그명 패키지경로명.핸들러클래스명.. 2023. 1. 4.
JSP - 커스텀 태그 | 커스텀태그 개발자가 작성한 태그 ​ 장점 v에 존재하는 로직코드(자바)를 분리할 수 있음 로직코드를 캡슐화(모듈화)가 가능 완벽한 MVC 구조 구축가능 ​ 커스텀 태그의 종류 태그파일 기반의 커스텀 태그 (프로젝트 규모가 작을 때/간단한 기능) 태그핸들러 클래스 기반의 커스텀 태그 (프로젝트 규모가 클 때/배포를 하는것이 주된 목적일 때 사용) ​ 태그 주로 쌍으로 이루어져 있음 태그 바디를 비울경우 닫는 것을 권장 속성 : 속성값들을 작성할 때에는 ""로 묶는 것을 권장 | taglib 지시어 내가 만든 파일기반의 커스텀태그 태그바디 => 태그바디가 존재할 때 => 태그바디가 존재하지 않을 때 ​ 남이 만든 핸들러클래스 기반 커스텀태그 태그바디 ​ 태그파일 기반 커스텀태그 태그파일들은 WEBINF/.. 2023. 1. 4.
.tld(xml 파일) 생성하기 1. 따로 관리할 tld 폴더 생성 ​ 2. xml 파일을 선택하여 Filename 입력 후 .tld >> next 클릭 ​ 3. 윗부분의 create file using a DTD or XML Schema file 선택 후 Next > ​ 4. 두번쨰의 Select XML 선택 후 플러그인에서 http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd 선택 > Next ​ 5. j2ee의 prefix를 null값으로 지정 후 Finish 2023. 1. 4.
JSP - 표현언어 | 표현언어(EL(Expression Language)) V에서 사용하는 언어(브라우저, jsp, html 페이지 등) 자바코드를 사용하지 않고 간편하게 출력을 지원하기 위한 언어 ​ 사용법 ${표현식}, ${변수명}, ${객체명.멤버변수명}, ${컬렉션객체[인덱스]} ${mid}, ${member.id} = ${member["id"]}, ${data[0]} 등 ex) => ${name} ​ ** Attribute 형식에서는 이라면 ${count+1} 처럼 작성 Parameter 형식에서는 ${param.count} 처럼 작성한다. ​ Attribute 메서드를 통해 저장되고 관리되는 데이터 PageContext/Request에서 사용하는 경우 setAttribute("key", value) - 값을 넣.. 2023. 1. 4.
JSP - 자바 빈즈 클래스 | 자바빈즈 java 코드를 최소화 하기위해 사용하는 클래스 ​ 빈즈(.Java)는 클래스 구조 private 멤버변수 getter, setter 기본 생성자 ​ 멤버변수를 초기화하는 역할 -> 생성자 기본 생성자 + setter 필수 ​ JSP에서 빈즈를 선언하여 사용 ​ id 속성 : 인스턴스명 class 속성 : 클래스(자바 빈즈) 명.패지키 경로도 포함 scope : 유효범위 ​ 자동 매핑을 위해서 사용 멤버변수명 == JSP 변수명 ​ JAVA 코드 사용을 최소화하는것이 좋지만, 더 권장함 ​ 로그인 페이지 ​ 로그인 후 페이지 결과 영상 확인 : https://blog.naver.com/yyhhhjun/222839944086 JSP - 자바 빈즈 클래스 | 자바빈즈 java 코드를 최소화 하기.. 2023. 1. 4.
JSP - session/application 객체 HTTP 프로토콜은 비연결형 프로토콜 하나의 페이지가 출력된 이후에 클라이언트와 서버의 연결이 끊어짐 상태를 저장(기억)하기 위해 사용하는 방법 ex) 쿠키, session, application ​ session 클라이언트 객체 브라우저 단위, 일정시간 기억 ex) 장바구니, 은행서비스, 로그인 등 ​ - 브라우저 단위로 유지되기 때문에, 브라우저를 종료시키면 새로운 session 객체가 생성됨 - 일정 시간이 지나면, 브라우저를 끄지 않았어도 새로운 session 객체가 생성됨 ​ session.setMaxInactiveInterval(정수) : 인터벌 시간을 설정하는 메서드(초 단위) session.isNew() : boolean 타입 결과를 출력하는 메서드 application 윈도우 서버 객체 .. 2023. 1. 4.
JSP - response 객체 response 객체 웹브라우저의 요청에 응답하는것을 말함 응답의 정보를 가지고 있는객체를 response객체라고 말함 서버측에서 클라이언트측으로 데이터를 전달하기 위한 객체 ​ forward 액션 vs response.sendRedirect() 공통점 둘 다 요청을 수행한다. ​ 차이점 forward 액션 : 새로운 요청이 아니며 제어권을 넘겨주면서 파라미터값도 전달(및 추가) 가능하다. >> Url 유지 response.sendRedirect : 새로운 요청이기 때문에 파라미터 값 유지가 되지 않는다. >> 새 Url ​ Practice responsestar.jsp(응답 요청) forward와 response.sendRedirect의 차이를 알아보자 ​ responseres.jsp (response.. 2023. 1. 4.
JSP - request 객체 문법 표현식 지시어 스크립트릿 표현식 out JSP 내장객체의 출력기능을 포함하는 태그 선언식 ​ 자주 사용하는 내장 객체 1) request : 웹브라우저 즉 클라이언트의 요청 정보를 저장 2) response : 웹 브라우저 즉 클라이언트의 요청에 대한 응답 정보를 저장 3) out : JSP 페이지에서 출력할 때 사용되는 출력 스트림 객체 4) session : 하나의 브라우저 내에서 정보를 유지하기 위한 HTTP 세션 정보를 저장 5) application : 웹 애플리케이션의 Context 정보를 저장 6) exception : 예외 객체 request 객체 웹브라우저를 통해 서버에 어떤 정보를 요청하는것 클라이언트에서 넘어오는 데이터를 서버 측에서 받아오는 객체 String 타입으로 데이터를 .. 2023. 1. 4.