-
JSP(Java Server Pages) 들어가기프로그래밍/JSP 2022. 11. 14. 14:23728x90
JSP는 Java Server Pages의 약자로 HTML내에 자바 코드를 삽입하는 방식으로 동적으로 웹 페이지를 생성하여 웹 브라우저에 돌려주는 서버 사이드 스크립트 언어이다.
JSP가 실행되면 JSP는 자바 서블릿(Java Servlet)으로 변환되고 웹 어플리케이션 서버에서 동작되며 필요한 기능을 수행하고 그렇게 생성된 데이터를 웹페이지와 함께 클라이언트로 응답한다.
여기서 자바 서블릿(Java Servlet)이란 웹페이지를 동적으로 생성하기 위해 사용되는 자바 기반의 서버측 웹 어플리케이션 프로그래밍 기술로, 웹 어플리케이션 서버(Web Application Server) 위에서 컴파일 되고 동작한다. 서블릿은 웹 요청(request)와 응답(response)의 흐름을 간단하게 메서드 호출만으로 체계적을 다룰 수 있게 해주는 기술이다.
JSP의 동작 순서
먼저 웹 브라우저를 통해 웹 서버로 request 정보를 전달한다. java 파일을 생성하여 JSP로 작성된 코드는 서블릿 코드로 변환한다. 서블릿 코드는 컴파일 작업을 통해 실행가능한 바이트코드로 변환되어 class 파일을 생성하고 서블릿 jspInit() 을 실행한다. 이때부터 사용자의 요청과 응답을 수행한다.
JSP의 특징
JSP는 스크립트 언어로 HTML 코드에 java 코드가 삽입되어 사용될 수 있다. 따라서 코드를 원활하게 작성이 가능해진다. 간단한 체이지를 구현 할때는 JSP 문서로 제작하여 시간 절약이 가능하다.
그러나 HTML 코드와 java 문법이 섞여 복잡한 로직을 구현 할 때는 코드를 해석하거나 이해하기 어려움이 있다.
JSP의 태그
JSP는 HTML 문서에 자바 코드를 넣어 프로그램을 수행하는 기능을 구현하는 방식으로 자바 코드를 사용하기 위해서 스크립트 태그를 사용한다. 스크립트 태그는 기본적으로 <% %> 안에 코드를 작성하여 서버에서도 자바 코드로 인식할 수 있도록 구분할 수 있다.
- 지시어 태그
JSP 페이지의 속성, 정보를 지정하고 설정하는 태그로 통상 페이지 최상단에 선언된다.
<%@ ~~~~~ %> import : 클래스를 사용 language : 사용할 프로그래밍 언어 설정 contentType : 생성할 문서의 컨텐츠 유형 pageEncoding : 페이지 문자 인코딩을 설정
- 선언 태그
자바 변수나 메소드를 정의할 때 사용하는 태그
<%! ~~~~~~ %> ex) <%! int num = 0; %>
- 스크립틀릿 태그
자바 변수 선언 및 자바 로직 코드를 작성하는데 사용하는 태그
<% ~~~~~ %>
- 표현 태그
변수, 계산식, 메소드 호출 결과를 출력하는 태그
<%= 출력내용 %> ex) <%= "안녕하세요" %> ====> out.println("안녕하세요");
- 주석 태그
<%-- 주석 내용 -->
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.util.Date"%> <% String userid = "honggildong"; String name = "홍길동"; int age = 27; double height = 186.5; %> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>JSP의 변수</title> </head> <body> <p>아이디 : <%=userid%></p> <p>이름 : <%=name%></p> <p>나이 : <%=age%></p> <p>키 : <%=height%></p> <p>현재시간은 <%=new Date()%></p> <% out.println("<p>아이디 : " + userid + "</p>"); out.println("<p>이름 : " + name + "</p>"); out.println("<p>나이 : " + age + "</p>"); out.println("<p>키 : " + height + "</p>"); out.println("<p>현재시간은 : " + new Date() + "</p>"); if(age > 19){ out.println("<p>성인입니다.</p>"); }else{ out.println("<p>미성년입니다.</p>"); } %> </body> </html>
728x90'프로그래밍 > JSP' 카테고리의 다른 글
AJAX (0) 2022.11.22 세션(session) (0) 2022.11.21 쿠키(cookie) (0) 2022.11.18 HTTP Request/Response & GET/POST 방식 구현 (0) 2022.11.16 이클립스 톰캣 서버 설정 방법 (0) 2022.11.15