<jsp의 유래 >
아파치는 웹서버
항상 클라이언트가 웹서버 대상으로 움직임
엔진의 이름이 코요테 엔진 (정적, 동적을 분석함 정적인 요청은
어플리케이션 서버 - 톰캣 왓스?
|
CGI 하드웨어특성
|
서블릿
|
jsp
jsp 형태
<%@ page contentType=“text/html; charset=euc-kr” %> <= 설정부분
<%@ page import=“java.util.Date” %> :JSP페이지에 대한 설정 정보
<html>
<head><title>리스트1.1</title></head>
<body>
<%
Date nowTime = new Date();
%>
<=생성부분
현재 시간은 <%= nowTime %>입니다. : HTML 코드 및 JSP 스크립트
</body>
</html>
<%@ page contentType=“text/html; charset=euc-kr” %>
<= 디렉티브
<%@ page import=“java.util.Date” %>
<%
Date nowTime = new Date(); <= 스크립트 요소
%>
<html>
<head><title>리스트1.1</title></head>
<body>
현재 시간은 <%= nowTime %>입니다. <= 표현식
</body>
</html>
jsp는 웹 어플리케이션 프로그래밍을 하는데 필요한 기능을 제공해 주는 '기본객체'이다.
jsp페이지 내부에서 사용되는 간단한 스크립트 언어이다.
jsp 페이지의 구성요소
1. 디렉티브(Directive)
- jsp페이지에 대한 설정 정보를 지정할 때 사용한다.
디렉티브 | 설명 |
page |
JSP 페이지에 대한 정보를 지정한다. JSP가 생성하는 문서의 타입, 출력 버퍼의 크기, 에러 페이지 등 JSP 페이지에서 필요로 하는 정보를 입력한다. |
- page 디렉티브 : jsp 페이지에 대한 설정 정보를 지정할 때 사용
jsp페이지가 어떤 문서를 생성하는지, 어떤 자바 클래스를 사용하는지, 세션에 참여여부, 출력버퍼의
존재 여부와 같은 실행에 필요한 정보를 입력한다.
<%@ page contentType=“text/html; charset=euc-kr” %>
<%@ page import=“java.util.Date” %>
속성 | 설명 | 기본값 |
contentType |
JSP페이지가 생성할 문서의 타입을 지정. 생성할 응답 문서의 MIME 타입을 입력한다. “text/html”, “text/xml”, “text/plain” 등. |
text/html |
import |
JSP 페이지에서 사용할 자바 클래스를 지정. |
|
trimDirectiveWhitespace |
출력 결과에서 템플릿 텍스트의 공백 문자를 제거할지의 여부를 지정한다. |
false |
pageEncoding |
JSP 페이지 자체의 캐릭터 인코딩을 지정한다. |
2. 스크립트 요소
- jsp에서 실시간으로 문서의 내용을 생성하기 위해 사용되는 것이 스크립트 요소이다.
- 사용자가 폼에 입력한 정보를 데이터베이스에 저장 할 수 있으며, 데이터베이스로부터 글을 읽어와 출력도 할 수
도 있다.
스크립트 요소 | 설명 | 문법 구조 |
스크립트릿(Scriptlet) :자바 코드를 실행한다 |
jsp페이지에서 자바 코드를 실행할 때 사용되는 코드의 블록이다. | <% 자바코드 1; 자바코드 2; 지바코드 3; %> |
표현식(Expression) :값을 출력한다 |
어떤 값을 출력 결과에 포함시키고자 할때 사용된다 | <%= 값 %> |
선언부(Declaration) :자바 메서드(함수)를 만든다 |
jsp페이지에서 스크립트릿이나 표현식에서 사용할 수 있는 함수를 작성할 때 사용된다. | <%! public 리턴타입 메소드명 (패러미터 목록) 자바코드들... %> |
3. request 기본객체
- 클라이언트가 전송한 요청 정보를 제공하는 것이 바로 request 기본 객체이다.
- 기능 : 클라이언트(웹 브라우저)와 관련된 정보 읽기 기능
서버와 관련된 정보 읽기 기능
클라이언트가 전송한 요청 파라미터 읽기 기능
클라이언트가 전송한 요청 헤더 읽기 기능
클라이언트가 전송한 쿠키 읽기 기능
속성 처리 기능
- 기본 객체의 클라이언트 및 서버 정보 관련 메소드
속성 |
리턴 타입 |
설 명 |
getRemoteAddr() |
String |
웹서버에 연결한 클라이언트의 IP 주소를 구한다. 게시판이나 방명록등에서 글 작성자의 IP 주소가 자동으로 입력되기도 하는데, 이때 입력되는 IP 주소가 바로 이 메서드를 사용하여 구한 것이다. |
getContentLength() |
long |
클라이언트가 전송한 요청 정보의 길이를 구한다. 전송된 데이터의 길이를 알 수 없는 경우 -1을 리턴한다. |
getCharacterEncoding() |
String |
클라이언트가 요청 정보를 전송할 때 사용한 캐릭터의 인코딩을 구한다. |
getContentType() |
String |
클라이언트가 요청 정보를 전송할 때 컨텐트의 타입을 구한다. |
getProtocol() |
String |
클라이언트가 요청한 프로토콜을 구한다. |
getMethod() |
String |
웹 브라우저가 정보를 전송할 때 사용한 방식을 구한다. |
getRequestURI() |
String |
웹 브라우저가 요청한 URL에서 경로를 구한다. |
getContextPath() |
String |
JSP 페이지가 속한 웹 어플리케이션의 컨텍스트 경로를 구한다. |
getServerName() |
String |
연결할 때 사용한 서버 이름을 구한다. |
getServerPort() |
int |
서버가 실행 중인 포트 번호를 구한다. |
속성 |
리턴 타입 |
설 명 |
getParameter(String name) |
String |
이름이 name인 패러미터의 값을 구한다. 존재하지 않을 경우 null을 리턴한다. |
getParameterValues(String name) |
String[] |
이름이 name인 모든 패러미터의 값을 배열로 구한다. 존재하지 않을 경우 null을 리턴한다. |
getParameterNames() |
java.util.Enumeration |
웹 브라우저가 전송한 패러미터의 이름을 구한다. |
getParameterMap() |
java.util.Map |
웹 브라우저가 전송한 패러미터의 맵을 구한다. 맵은 <패러미터 이름, 값> 쌍으로 구성된다. |
GET 방식 전송과 POST 방식 전송
4. response 기본 객체
- response 기본 객체는 request 기본 객체와 반대의 기능을 수행
- response 기본 객체는 웹 브라우저에 보내는 응답 정보를 담는다
- 웹 브라우저에 헤더 정보 전송하기
- 웹 브라우저 캐시 제어를 위한 응답 헤더 입력
- 리다이렉트를 이용해서 페이지 이동하기
jsp가 제공하는 기본 객체
기본 객체 |
실제 타입 |
설 명 |
request |
javax.servlet.http.HttpServletRequest 또는 javax.servlet.ServletRequest |
클라이언트의 요청 정보를 저장한다. |
response |
javax.servlet.http.HttpServletResponse 또는 javax.servlet.ServletResponse |
응답 정보를 저장한다. |
pageContext |
javax.servlet.jsp.PageContext |
JSP 페이지에 대한 정보를 저장한다. |
session |
javax.servlet.http.HttpSession |
HTTP 세션 정보를 저장한다. |
application |
javax.servlet.ServletContext |
웹 어플리케이션에 대한 정보를 저장한다. |
out |
javax.servlet.jsp.JspWriter |
JSP 페이지가 생성하는 결과를 출력할 때 사용되는 출력 스트림이다. |
config |
javax.servlet.ServletConfig |
JSP 페이지에 대한 설정 정보를 저장한다. |
page |
java.lang.Object |
JSP 페이지를 구현한 자바 클래스 인스턴스이다. |
exception |
java.lang.Throwable |
예외 객체. 에러 페이지에서만 사용된다. |
------------------------정리중 -----------------------------------------------------------
프로젝트 새롭게 생성 ddit
꼭 서버가 필요 버전
next
설정파일은 config에
패키지와 클래스는 src 에
동일한 코드는 ? common
참고 서류 등은 doc
next
웹 어플리케이션의 설정파일이기땨ㅐ문에 꼭 체크하기
서블릿토들러가 바로 서버
그림 설명 추가하기
content.jsp
서버내에서만
여기가 실제서버
여기는 낸가 만든 웹 어플리케이션 재설치한 곳
이클립스는 ddit를 wtp에서 재배치를 한다 ?
이번엔 헤더 jsp 파일 만들기
웹어플리케이션 폴더에서 jsp - apls 파일 노트패드로 열기
form[action=/ddit/01/gugudanResult/jsp]>select[name=dan]>option[value=$]*8^input[type=submit value=전송]
tap 누르면
'jsp' 카테고리의 다른 글
struts (0) | 2020.07.06 |
---|---|
file 업로드 (0) | 2020.06.24 |
jsp 두번째 시간 (0) | 2020.06.09 |
jsp 환경설정 (0) | 2020.06.01 |