목차
1. JSP 태그와 객체 Import 방법
2. JSP 주석 처리 방법
3. 내장 객체: request 객체
1. JSP 태그와 객체 Import 방법
1) 스크립틀릿 태그(Scriptlet tag)
- 자바 코드를 실행할 때 사용되는 코드의 블록
- 형식: <%
자바 코드1;
자바 코드2;
%>
2) 선언 태그(Declaration tag)
- 메소드를 생성할 때 사용
- 형식: <%!
public 리턴타입 메소드이름(파라미터목록) {
자바코드1;
자바코드2;
...
자바코드n;
return 값;
}
%>
3) 표현식 태그(Expression tag)
- 변수, 계산식, 메소드 호출 결과를 문자열 형태로 출력할 때 사용
- 형식: <%= %>
4) 지시어 태그(Directive tag): 페이지 태그(page tag)
- JSP 페이지에 대한 정보를 지정(문서의 타입, 출력 버퍼의 크기, 에러 페이지 등)
- 형식: <%@ page %>
- ex) <%@ page ① language="java" ② contentType="text/html; ③ charset=UTF-8" ④ pageEncoding="UTF-8"%>
① 생략 가능
② 문서 타입 지정
③ 한글 값 인코딩
④ 생략 가능(③과 중복)
• 주요 속성
① contentType : JSP가 생성할 문서의 타입을 지정
② import : JSP 페이지에서 사용할 자바 클래스를 지정
③ session : JSP 페이지가 세션을 사용할 지의 여부를 지정
④ info : JSP 페이지에 대한 설명을 입력한다.
⑤ errorPage : 에러가 발생할 때 보여줄 페이지를 지정
⑥ isErrorPage : 에러 페이지인지의 여부를 지정
① contentType
- JSP가 생성할 문서의 타입을 지정하는 속성
- contentType 속성을 설정하지 않을 경우에 기본 값은 "text/html"
- ex) <%@ page contentType="text/html; charset=UTF-8"%>
② import
- JSP 페이지에서 사용할 자바 클래스를 지정하는 속성
- java에서처럼 import 단축키는 사용되지 않지만, 객체를 생성할 때 Ctrl + Space bar를 눌러서 입력하면 자동으로 import가 된다.
- ex) <%@ page import="java.util.Date"%>
2. JSP 주석처리 방법
• JSP 페이지에서는 HTML 주석, 자바 주석, 자바스크립트 주석, JSP 주석을 사용할 수 있다.
1) JSP 주석
- JSP 주석과 JSP스크립트 주석이 있다.
- JSP 주석은 웹 브라우저나 웹 브라우저 상의 소스 보기에 표시되지 않는다.
위치 | 형식 | ||
JSP 주석 | 아무 곳이나 기술 가능 | <%-- --%> | 여러 줄에 기술 가능 |
JSP스크립트 주석 | JSP 태그 안에서만 기술 가능 (스크립틀릿, 표현식, 선언문) |
// /* */ |
한 줄에만 기술 가능 여러 줄에 기술 가능 |
- ex) <%-- JSP 주석 --%>
<% // 스크립틀릿에 한 줄 주석 %>
<% /* 스크립틀릿에 여러 줄 주석 */ %>
<%=name /* 표현식에 주석 사용 */ %>
<%= /* 표현식에 주석만 있는 경우 컴파일 에러 발생함 */ %>
2) HTML 주석
- 브라우저에는 출력 X , 소스 보기 출력 O
- 형식: <!-- -->
3) Java 주석
- 형식: // 한 줄 주석
/* 여러 줄 주석 */
4) 자바스크립트 주석
- 형식: // 한 줄 주석
/* 여러 줄 주석 */
[예시]
<%@ page contentType="text/html;charset=euc-kr" %> <html> <!-- HTML에서 제목을 출력합니다. (html 주석) --> 두 개의 숫자를 더해서 결과를 출력합니다 : <br> <%-- 계산 결과는 자바 코드로 출력합니다. (jsp 주석) --%> <body> <% /* 두 개의 정수형 변수에 값을 할당하고 계산합니다. (jsp 스크립트 다중행 주석)*/ int i=1; int j=2; i=i+j; out.println("i+j = " + i); // 계산된 결과를 출력합니다. (jsp 스크립트 단일행 주석) %> |
[결과]
• 웹 브라우저
• 소스 보기
3. 내장 객체: request 객체
1) request 기본 객체
• 웹 브라우저가 웹 서버에 전송한 요청 관련 정보 제공
• 주요기능:
- 클라이언트(웹 브라우저)와 관련된 정보 읽기 기능
- 서버와 관련된 정보 읽기 기능
- 클라이언트가 전송한 요청 파라미터 읽기 기능
- 클라이언트가 전송한 요청 헤더 읽기 기능
- 클라이언트가 전송한 쿠키 읽기 기능
- 속성 처리 기능
2) request 객체에서 자주 사용하는 메소드
void setCharacterEncoding(String env);
String getParameter(String name);
String[] getParameterValues(String name);
String getRemoteAddr();
요청 URI = <%= request.getRequestURI() %>
컨텍스트 경로 = <%= request.getContextPath() %> /jsppro
3) get 방식 / post 방식
- <form> 태그로 값을 전달하는 방식에는 get 방식과 post 방식이 있다.
- <form> 태그에서 method 속성으로 데이터 전달 방식을 지정하지 않으면 기본값인 get으로 설정된다.
- get 방식: 웹 페이지와 같은 인코딩 사용
- post 방식: 응답 화면에 request 객체의 setCharacterEncoding() 메소드로 인코딩 설정을 해주어야 함
① get 방식
- 전송 정보가 주소 표시줄에 노출되기 때문에 보안에 취약하다.
- <form> 태그 외에도, <meta> 태그, <anchor> 태그, <location> 태그에서도 get 방식으로 데이터가 전달된다.
② post 방식
- 주소 표시줄에 전송 정보가 노출되지 않기 때문에 보안에 유리하다.
- post 방식으로 한글 값 전달 시, 전달받는 페이지에서 request 객체로 인코딩을 설정해야 한다.
- ex) <% request.setCharacterEncoding("utf-8"); %>
** JSP 내장 객체에 대한 API를 찾으려면?
- Java EE API : 오라클 사이트(https://javaee.github.io/javaee-spec/javadocs/)
- 리턴 타입 확인 후 API에서 내장 객체에 대한 정보를 얻을 수 있다.
'JSP' 카테고리의 다른 글
57일차: JSP와 오라클 연동(DTO,DAO) / 커넥션 풀_ 2021.09.02 (0) | 2021.09.02 |
---|---|
56일차: JSP와 오라클 연동_ 2021.09.01 (0) | 2021.09.01 |
55일차: JSP 자바빈(useBean, setProperty, getProperty) 2021.08.31 (0) | 2021.08.31 |
54일차: JSP 액션 태그_forward / include / 자바빈 2021.08.30 (0) | 2021.08.30 |
53일차: Session / 영역과 속성 / 에러 처리 / 액션 태그 2021.08.27 (0) | 2021.08.27 |