web

JSP 기본 문법

Clearing 2022. 8. 2. 23:23
728x90

1) 에러 페이지 처리

주로 발생하는 에러로는 404 에러와 500 에러가 있으며 404 에러의 경우 주로 클라이언트의 문제로

없는 페이지를 요청했을 때 발생된다. 해결 방법으로는 존재하는 페이지의 요청을 하거나

서버 측에서 페이지를 생성하여 해결한다. 500 에러의 경우 주로 서버의 문제로 로직상에서 발생하는

모든 문제에 대해 500 에러를 발생시킨다.

에러 페이지 처리의 경우 page 지시어 isErrorPage와 errorPage 속성을 통해 설정이 가능하다.

 

2) include 지시어

include 지시어는 여러 페이지에 공통으로 들어가는 내용을 관리할 때 유용하며, 공통으로 들어가는

페이지를 한 번 만들어두면 다른 페이지에서 필요한 경우에 include 해서 사용이 가능하다.

공통 내용의 페이지를 포함시킨 이후에 컴파일하기 때문에 개별적으로 컴파일하지 않으므로

별도의 기본 HTML 구조 태그가 필요하지 않다. 즉, 여러 파일들을 하나로 컴파일하기 때문에

변경이 적은 정적인 페이지를 포함시킬 때 용이하다.

 

3) include 액션

포함시킬 파일들을 각각 관리(컴파일)하며 메인 파일이 다른 파일들을 포함하는 개념으로

동적인 페이지를 포함 시킬 때 용이하다.

 

4) forward 액션

forward 문법 사용시 페이지의 제어권을 완전히 넘겨주게 되며, 현재 페이지에서 다른 페이지로

화면 전환할 때 사용한다. response(JSP의 내장 객체, 응답 관련 정보가 저장된 객체)의

sendRedirect() 메서드와 유사한 기능을 한다.

 

5) 스크립트릿 (scriptlet)

JSP 내부에 JAVA 언어를 사용할 수 있게 해주는 코드

 

<%@ %>: 지시어

<% %>: 스크립트릿

<%= %>: 표현식 - out(JSP 내장 객체)의 출력 기능을 포함하는 태그

<%! %>: 선언식

 

[ 내장 객체 ]

1) request: 요청 정보를 가지고 있는 객체로 String(문자열) 타입으로 데이터를 주고받는다.

                   한글 입력 시 UTF-8 인코딩을 유의한다.

 

2) response: 응답 정보를 가지고 있는 객체로 forward 액션과 response.sendRedirect() 둘 모두

                     요청을 수행할 수 있으며 forward의 경우 새로운 요청이 아니고 제어권을 넘겨주면서

                     파라미터 값도 전달 및 추가가 가능하다. sendRedirect()의 경우 새로운 요청이기 때문에

                     파라미터 값이 유지가 되지 않는다.

 

3) out: 브라우저(화면) 출력 기능을 수행한다. ex) println()

 

4) session: HTTP 프로토콜은 비연결형 프로토콜로 하나의 페이지가 출력된 이후에 클라이언트와 서버의

                  연결이 끊어지기 때문에 상태를 저장하기 위해(기억하기 위해) 사용하는 객체이다.

                  브라우저 또는 시간 단위로 유지되기 때문에 브라우저를 종료시키거나 일정 시간이 지나게 되면

                  새로운 session 객체가 생성된다. ex) 장바구니, 은행 어플, 로그인, ...

 

5) application: 서버 단위로 정보가 저장되는 객체로 서버 단위로 유지되기 때문에 브라우저를 종료시켜도

                        데이터를 유지할 수 있다. 서버를 종료하거나 재시작하게 되면 새로운 객체가 생성된다.

                        ex) 앱, 투데이 방문자수, ....

 

6) exception: 예외 객체

 

 

728x90

'web' 카테고리의 다른 글

표현언어, EL식  (0) 2022.08.12
JSP - session 객체를 이용해 장바구니 만들기  (0) 2022.08.02
JSP를 이용한 서버 프로그래밍  (0) 2022.08.01
CSS - 기본 문법  (0) 2022.07.28
HTML 폰트 적용  (0) 2022.07.28