핵심 개념
- jsp (java server page)
JSP는 무조건 서블릿으로 바뀐다. 그러므로 서블릿으로 바꿀 때 어떻게 바꿔야하는지를 구분하는 방법이 <%이다.
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@의 경우 지시자이고 앞에 page가 붙어있으면 page지시자이다.
<%를 하면 자바코드를 작성할 수 있다. 결과를 보려면 <%=를 하면 된다. 이것은 서블릿의 out.print()와 같다.
핵심 개념
- jsp라이프 사이클
실행순서
1. 브라우저가 웹서버에 jsp에 대한 요청 정보를 전달한다.
2. 브라우저가 요청한 jsp가 최초로 요청했을 경우만 jsp로 작성된 코드가 서블릿으로 코드로 변환한다.
>>자바코드 작성 후 실행하면 컴파일파일이 남듯이 jsp도 첫 실행시 java로 변환한 .java파일이 생성된다.
3. 서블릿 코드를 컴파일해서 실행가능한 bytecode로 변환한다. (class파일 생성)
4. 서블릿 클래스를 로딩하고 인스턴스를 생성한다.
5. 서블릿이 실행되어 요청을 처리하고 응답 정보를 생성한다.
jsp도 서블릿과 마찬가지로 init, destroy, service가 있다.
서비스는 새로고침했을 때 마다 실행되고 init은 첫 실행, destroy는 수정했을 시 실행된다
코드를 작성후 실행하면 init > service가 실행되고 수정하고 다시 실행하면 destroy > init > service가 실행된다.
jsp로 init이나 디스트로이에 코드를 넣으려면 <%! public void jspinit(){} %>로 따로 지정해줘야 한다.
<%!의 경우 선언자라고 불린다.
핵심 개념
- 선언문(Declaration)
- 스크립트릿(Scriptlet)
- 표현식(Expression)
- 주석(Comment)
선언문
<%! 로 선언하며 전역변수나 메소드 선언에 사용한다. <%!로 선언한 것은 jspservice에 들어가지 않는다.
id : <%= getId() %>
<%! String id = "u001";
public String getId(){
return id;
}
%>
스크립트릿
<%로 선언하며 프로그래밍 로직을 기술할 때 사용한다.
if 나 for문 작성 중 화면에 html코드와 함께 표시해야할 경우 로직을 끊어서 사용할 수 있다.
<% for(int i = 1; i <= 5; i++){
%>
<h<%=i%>> 아름다운 한글 </h<%=i%>>
<%
}
%>
표현식
웹 브라우저에 출력할 부분을 표현한다. <%=로 사용한다.
주석
jsp는 3가지의 주석을 사용할 수 있다.
jsp주석은 <%-- 로 선언하며 실행했을 때 소스보기를 해도 보이지 않는다. java파일로 변환자체가 되지 않기 때문이다.
java주석은 //나 /*로 선언하며 jsp주석보다 이후에 처리된다.
html주석은 <!--로 선언하며 소스보기로 소스를 볼 수 있다.
즉 주석을 달리기로 비유하자면 jsp는 3등 java2등 html은 1등이다.
'IT > 부스트코스' 카테고리의 다른 글
부스트코스 DB연결 웹앱 #6 EL,JSTL (0) | 2020.01.23 |
---|---|
부스트코스 DB연결 웹앱 #5 scope (0) | 2020.01.22 |
부스트코스 DB연결 웹앱 #4 redirect & forward (0) | 2020.01.21 |
부스트코스 DB연결 웹앱 #2 WEB UI 개발- FE (0) | 2020.01.16 |
부스트코스 DB연결 웹앱 #1 자바스크립트 FE (0) | 2020.01.15 |