반응형

프로그래밍/Servlet&JPS 12

12 Servelt & JSP : JSTL _ Core Tage

JSTL(JSP Standard Tag Library) JSP에서 사용하는 커스텀 태그 공통으로 사용하는 코드의 집합을 사용하기 쉽게 태그화 하여 표준으로 제공한 것 라이브러리 등록 후 사용 가능 선언방식(사용하고자 하는 jsp 파일에 선언) 사용 예시 JSTL 태그 종류 Core Tags , Formatting Tage, Function Core Tags 태그이름 설명 선언방식 종류 Core Tags 변수와 url, 조건문, 반목문 등의 로직과 관련된 JSTL 문법 제공 , , , , 1 . 변수를 선언하고 그 변수에 초기값을 대입하는 기능 변수 타입은 별도로 선언 하지 않음 초기값은 반드시 기술해야 함 선언한 변수는 EL 식 안에서 사용가능 스크립트릿 요소에서는 사용 불가 - 변수 선언 선언 방식 =..

11 Servelt & JSP : JSP Action Tag _ 표준 액션 태그

JSP Action Tag : JSP Action 태그는 XML 기술을 이용하여 기존의 JSP 문법을 확장하는 매커니즘을 제공하는 태그 웹 브라우저에서 실행되는 것이 아니라, 웹 컨테이너에서 실행되고 경과만 브라우저로 보냄 표준 액션 태그 : JSP 페이지에서 바로 사용 태그 앞에 jsp 접두어가 붙음 ex) 커스텀 액션 태그 : 별도의 라이브러리 설치 필요 라이브러리 선언에 맞는 접두어가 붙는다 ex) 표준 액션 태그 종류 jsp: include 현재 페이지에 특정 페이지를 포함할 때 사용 ex) jsp:forward 하나의 JSP 페이지에서 다른 JSP 페이지로 요청 처리를 전달할 때 사용 전달하는 페이지에서 request, response 객체가..

10 Servlet & JSP : EL 표현식

EL 표현식 - ${ 범위scop.키캆 } - scop 생략가능 - scop를 명시 하지 않았을 경우 좁은 범위부터 탐색 - 탐색 순서 : pageScope => requestScope => sessionScop => applicationScope EL의 내장 객체 1. 전달 된 서블릿 request 객체에서 저장 된 정보를 jsp에 출력하기 스크립틀릿 태그와 expression 태그 name : age : phone : EL 표현식으로 출력 EL 표현식 name : ${ requestScope.name} age : ${ requestScope.age } phone : ${requestScope.phone} 스코프 범위 생략 가능함 name : ${ name} age : ${ age } phone : $..

09 Servlet / JSP : JSP 특징과 JSP Element 표기법

Servlet과 JSP 비교 JSP 실행 방식 JSP 특징 1. JSP 파일이 변경되지 않는다면, '.jsp'파일에 대한 컴파일은 다시 일어나지 않음 2. JSP 파일이 변경될 때 마다 translate 과정을 거쳐 인스턴스를 다시 생성한다 3. JSP 파일의 배포 환경(위치)은 HTML과 동일 (web_root폴더 하단) JSP Element 표기법 Directive : 페이지에 대한 설정을 하는 지시자 태그이다. Comments : HTML 주석은 클라이언트에게 노출 되지만, JSP 주석은 클라이언트에게 노출되지 않는다 Declaration : 서블릿으로 변환 시 선언 태그 내에 작성한 내용을 필드로 선언해준다 Scriptlet : 간단한 자바 코드를 작성할 수 있는 부분 / 스크..

08 Servlet : listener

서블릿 리스너 : 웹 컨테이너가 관리하는 라이프 사이클 사이에 발생하는 이벤트를 감지하여 해당 이벤트가 발생 시 해당 이벤트에 대한 일련의 로직을 처리하는 인터페이스 서블릿 리스너 동작구조 서블릿 이벤트 사용 용도 1. context 웹 컨텍스트가 초기화되는 경우 2. session 세션이 생기거나 소멸되는 경우 3. request 요청 정보의 속성이 바뀌는 경우 서블릿 이벤트 리스너 종류 종류 내용 ServletContextListener 웹 애플리케이션의 시작과 종료 시 자동으로 발생하는 이벤트 ServletContextAttributeListener 웹 컨테이너에 저장된 속성의 값이 변경될 경우 발생하는 이벤트 HttpSessionListener HTTP 세션이 생성되거나 종료되는 시점에 발생하는 ..

07 Servlet : Filter

서블릿 필터 : java.servlet.Filter 인터페이스를 상속 받아 구현하는 클래스 HTTP 요청과 응답 사이에서 전달 되는 데이터를 가로채어 서비스에 맞게 변경하고 걸러내는 필터링 작업 서블릿 래퍼 : 관련 클래스(ServletRequest, ServletResponse, HttpServletRequest, HttpServletResponse)를 내부에 보관하며 그 인터페이스들을 구현하고 있는 객체를 참조하여 구현 메소드를 위임 wrapper class를 상속하면 필요한 메소드만 재정의하여 사용가능 사용자가 별도의 request나 response 객체를 생성하여 활용할 때 랩퍼 클래스 를 상속하여 활용하면 편하게 원하는 클래 스만 재정의하여 사용 가능 web.xml에 Filter 등록 (1) 필..

06 Servlet : Session과 Cookie

HTTP통신 서버는 client의 요청에 응답을 하고 나면 그 연결을 끊어버림 client는 다시 서버에 요청하려면 새로 연결해야 함 연결이 끊어지기 때문에 유지되어야 하는 정보들이 사라지는 문제 발생(ex 로그인 후의 정보, 장바구니에 넣은 데이터 등) Session과 Cookie 연결이 끊어진 이후에도 client에 대한 정보를 유지하기 위한 두가지 방법을 사용 1. Cookie : client 측에서 데이터를 보관하는 방법 필요시에 해당하는 정보를 서버와 공유하여 정보를 유지 Map형식으로 저장되고, 데이터의 크기, 개수 제한 있음 쿠키유지시간, 유효디렉터리, 유효도메인 등을 설정 2. Session : 서버측에 데이터를 보관하는 방법 client에는 session id를 부여하고 client가 r..

05. Servlet : sendRedirect

sendRedirect 사용자 url 재작성이라고 불리는 redirect 방식은 302번 응답코드인 경우 요청에 대한 처리를 잘 했으며 사용자의 url을 강제적으로 redirect 경로로 이동시키라는 의미 - redirect를 하는 경우 url이 재작성 되어서 새로 고침 해도 redirect 된 페이지에 대한 요청만을 반복함(이전 요청에 남아있던 정보는 남아 있지 않음) - http 요청은 요청 시에 잠시 connection을 맺고 응답 시에도 잠시 connection을 맺으며 요청 단뒤 당request 객체는 한 개만 생성 됨 - 첫 요청의 request와 redirect된 페이지의 request는 서로 다른 객체이고 redirect를 사용하면 이전 서블릿과의 값을 공유해서 사용할 수 없게 됨. - r..

04. Servlet : forward

forward 변수의 기본 scope는 page이기 때문에 다른 서블릿으로 데이터를 공유 할수 없다. forward 방식은 request와 response를 넣어서 위임하므로 request에 정보를 저장하여 다른 서블릿에서도 공유 할 수 있게 된다. 또한 forward 방식은 해당 서블릿의 존재를 client가 알 필요가 없어 url 자체가 변경되지 않는다. 단 서버로 전송한 데이터가 남아있는 상태로 새로고침(재요청)을 하게 되면 요청을 계속 반복하게 되어 DB에 insert하는 행위가 반복(중복) 되는 문제가 생길 수도 있다. forward 사용 방법 1. HTML forward 아이디 : 로그인 비밀번호 : 2. forward Servlet 작성 @WebServlet("/forward") public..

03 Servlet : Error message 와 page 만들기

response.sendError(에러타입, 메세지) ex) response.sendError(404, "없는 페이지입니다. 경로를 확인해주세요.") 1. HTML 작성 Exception Handler 404 에러확인 500 에러확인 2. web.xml에 error-page 작성 chap05-exception-handler index.html index.jsp index.htm default.html default.jsp default.htm 에러코드와 매핑할 페이지 설정 404 /showErrorPage 500 /showErrorPage 3. error 서블릿 작성 @WebServlet("/show404Error") public class Show404ErrorServlet extends HttpSer..

반응형