-
Web Application
: 비즈니스 로직을 서버 측에 배포(설치, deploy)하고, 웹 브라우저를 클라이언트로 사용하는 일종의 클라이언트 / 서버 형태의 프로그램
: 웹에서 실행되는 프로그램
-
서블릿 프로그램
: 서블릿(Servlet)
: 웹 컨테이너(Server(tomcat))에서 실행되며, 동적인 콘텐츠를 생성하기 위한 자바 클래스
-
서블릿 관련 패키지
* javax.servlet - 일반 서비스를 위한 서블릿 패키지
* javax.servlet.http - HTTP 서비를 위한 패키지
- extends HttpServlet
- doGet
- page Directive 페이지 지시
<%@ page attr1="val1" attr2="val2" ... %>
속성 = "값"
- Directive Element 지시어 원소
: 웹 컨테이너(톰캣)에 특정한 정보를 전달하는 역할
<%@ directive { 지시어 속성 } %>
directive 종류 : page, include, taglib
- Scripting Element 스크립팅 원소
선언 Declaration, 식 Expression (변수 값, 계산 결과, 함수 호출 결과), 스트립트렛 scriptlet (자바 코드 기술하는 영역)
<%
for ... %>
식언어 EL: Expression Language
- Action Element 액션 원소, jsp 태그
JSP 액션(=JSP 태그)
표준화된 태그를 이용해서 객체의 생성 및 접근 지원
제어를 다른 페이지로 이동
* 현재의 페이지 안에 다른 동적인 자원 포함
[ 종류 ]
jsp:useBean / jsp:setProperty / jsp:getProperty / jsp:param / jsp:plugin / jsp:forward / jsp:include
[jsp:forward] - 제어를 다른 페이지로 이동시킴, 같은 request를 쓴다.
* forward와 sendRedirect의 차이점
- forward : 호출한 url이 변경되지 않는다. 데이터 공유 가능 (서블릿이 공유한 것은 jsp가 사용할 수 있다.) request 요청과 response 응답을 같이 JSP에 넘겨준다.
- sendRedirect : 호출한 url이 변경된다. 데이터 공유 불가능. 서블릿이 사용하던 request와 response를 사용하지 않고, JSP는 새롭게 request와 response를 만들어서 사용한다.
< JSP 지시자 - page > - 띄어쓰기 주의!!
- language
- info
- contentType : 브라우저로 내보내는 내용의 MIME형식 지정 및 문자 집합 지정
- pageEncoding :
- import : import="java.util.Date" , import="java.util.Date,java.text.*" (연결해서 사용도 가능)
- session **** (중요!) : 기본값이 true이다 기억! , 사용자 인증 처리
- errorPage : err.jsp 에러가 발생할 때 처리할 페이지
- isErrorPage : 에러가 났을 때 true로 바꿔줌(기본값 false)
(둘이 짝꿍)
- buffer : 임시 저장 공간
- autoflush : 기본값 true
(둘이 짝꿍)
- isThreadsafe : 기본값 true
- extends
< JSP 기본객체 > ( or 내장 객체 )
- request : HttpServletRequest
- response : HttpServletResponse
- pageContext : forward 및 include 기능 활용할 떄 사용
- session
- application : 하나의 프로젝트다 라고 생각
- out
- config
- page
- exception