JSP 는 컨테이너에서 자바로 변환되는 과정을 거치므로 JSP 에서 제공하는 스크립트 요소를 이용하면 조건이나 상황에 맞게 HTML 태그를 선택적으로 전송할 수 있습니다.(화면을 동적으로 구성 가능)
JSP 스크립스 요소
JSP 스크립트 요소란 JSP 페이지에서 여러가지 동적인 처리를 제공하는 기능으로 <% %> 기호 안에 자바 코드로 구현합니다.
<% %> 기호를 스크릿트릿(scriptlet) 이라고 부릅니다.
스크립트 종류는 다음과 같이 3가지 입니다.
- 선언문(declaration tag) : JSP 변수나 메서드를 선언할 때 사용합니다.
- 스크립트릿(scriptlet) : JSP 에서 자바 코드를 작성할 때 사용합니다.
- 표현식(expression tag) : JSP 에서 변수의 값을 출력할 때 사용합니다.
선언문은 JSP 페이지에서 사용하는 멤버 변수나 멤버 메서드를 선언할 때 사용합니다.
선언문 형식
<%! 멤버 변수 or 멤버 메서드 %>
<%!
String name = "sample";
public String getName()
{
return name;
}
%>
스크립트릿 형식
<% %>
<% String name = request.getParameter("name"); %>
표현식은 JSP 페이지의 정한 위치에 값을 출력하는 기능입니다.
표현식 형식
<%= 자바변수(값) or 자바식 %>
<%=name %>
<%=Integer.parseInt(age) + 10 - 10 %>
<%= %> 안의 자바 변수나 자바 식에는 세미콜론이 있으면 안됩니다.
주석문(comment)
주석은 다들 아시다시피.. 주석입니다..
주석문 형식
<%-- --%>
<%-- <%=name %> --%>
<%-- <%=Integer.parseInt(age) + 10 - 10 %> --%>
스크립틀릿 사용 시 HTML 태그와 혼동되지 않게 여닫는 부분 등에 신경을 잘 써서 에러가 발생하지 않도록 주의 바랍니다.
JSP 페이지 예외 처리
JSP 페이지에서 오류가 발생하면 예외 처리 페이지를 이용해 예외 처리를 할 수 있습니다.
먼저 예외 처리 JSP 를 만든 후 디렉티브 태그 속성 중 isErrorPage 속성을 true 로 설정합니다.
그리고 일반 JSP 페이지의 디렉티브 태그 속성 중 errorPage 속성을 예외 처리 페이지 이름으로 설정합니다.
// 예외 처리 페이지 설정
<%@ page isErrorPage = "true" %>
// 일반 페이지에 예외 처리 페이지 설정
<%@ page errorPage = "Exception.jsp" %>
에러 코드에 따른 예외 처리 페이지 설정
JSP 실행 시 자주 발생하는 오류들이 있습니다.
404 오류는 요청한 JSP 페이지가 없을 때 발생하는 오류이고, 500 오류는 컨테이너에서 JSP 페이지 처리 중에 오류가 발생할 때 표시되는 오류입니다.
각 오류코드에 맞는 에러페이지를 작성하여 web.xml 에 설정하여 줍니다.
<error-page>
<error-code>404</error-code>
<location>/err/error_404.jsp</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/err/error_500.jsp</location>
</error-page>
JSP Welcome 파일 설정
웹 애플리케이션에서 첫 화면에 해당하는 홈페이지도 web.xml 에 등록할 수 있습니다.
<welcome-file-list>
<welcome-file>/test02/main1.jsp</welcome-file>
<welcome-file>/test02/main2.jsp</welcome-file>
...
</welcome-file-list>
여기까지 임미다.
'개발 > Java' 카테고리의 다른 글
[JAVA - WEB] JSP 표준 태그 라이브러리(JSTL) - fmt (0) | 2022.11.07 |
---|---|
[JAVA - WEB] JSP 표준 태그 라이브러리(JSTL) - Core (0) | 2022.11.06 |
[JAVA - WEB] JSP 표현 언어(Expression Language) (0) | 2022.11.06 |
[JAVA - WEB] JSP 액션 태그(Action Tag) (0) | 2022.11.06 |
[JAVA - WEB] JSP 내장 객체(내장 요소) (0) | 2022.11.06 |
[JAVA - WEB] JSP 정의와 구성 요소 (0) | 2022.11.06 |
[JAVA - WEB] 서블릿 리스너(Listener) (0) | 2022.11.05 |
[JAVA - WEB] 서블릿 필터(Filter) (0) | 2022.11.05 |
[JAVA - WEB] 세션(Session) (1) | 2022.11.03 |
[JAVA - WEB] 쿠키(Cookie) (0) | 2022.11.03 |