해당 게시글은 모두 인프런 실전 JSP (renew ver.) - 신입 프로그래머를 위한 강좌 https://www.inflearn.com/course/%EC%8B%A4%EC%A0%84-jsp_renew/dashboard에 출처를 두고 있습니다. 간략히 정리한 글 입니다.
JSP
와 서블릿
은 동작이 서로 상반됨을 사전에 이해하여야 스크립트의 동작 원리를 이해할 수 있습니다. 서블릿
은 자바에서 HTML
을 실행하는 구조이고 JSP
는 HTML
에서 자바를 구동합니다. 이전 강까지 서블릿으로 자바에서 HTML을 실행해 보았다면, JSP로 HTML에서 자바를 실행해 봅니다.
항상 할 필요는 없지만 한번만 해 놓으면 JSP를 만들때 마다 일일이 수정하지 않고 원하는 세팅으로 새로운 JSP파일을 시작할 수 있습니다.
Window
- Preferences
- Web
- JSP Files
- Editor
- Templates
- New...
순으로 클릭하여 새로운 양식을 생성합니다.
Context
: New JSP
를 선택후 Name
과 Description
은 원하는 이름으로 지정합니다.
Pattern
은 새로운 JSP생성시 초기 입력 양식을 지정합니다.
<%@ page language="java" contentType="text/html; charset=${encoding}"
pageEncoding="${encoding}"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="${encoding}">
<title>Insert title here</title>
</head>
<body>
</body>
</html>
원하는 양식을 지정할 수 있으나 강의를 따라 지정하였습니다.
선언태그
: JSP 페이지에서 Java의 멤버변수 또는 메서드를 선언
<%!
로 시작하여 %>
사이에 입력합니다.
변수, 컬렉션, 클래스, 메서드 등을 선언할 수 있습니다.
HttpServlet
을 상속한 서블릿 클래스의 필드,멤버에 속합니다.
주석태그
: jsp 주석은 jsp 파일이 서블릿 파일로 변환될 때 제외됩니다
<%!--
로 시작하여 --%>
사이에 입력합니다.
HTML태그 <!-- -->
와는 반대로 클라이언트의 브라우저엔 전달되지 않고 서버 내부에서만 확인후 제외시킵니다.
스크립트릿태그
: JSP 페이지에서 Java 코드를 넣기 위한 태그
<%
로 시작하여 %>
사이에 입력합니다.
HTML에서 자바를 이용하기 위한 필수 기능이며 HTML과 자바를 사이사이에 섞어서 사용할 수 있습니다. 사용자에게 어떤 HTML을 반환할지 자바로 로직을 짠다고 생각하시면 이해하기 편하실 것 같습니다.
서블릿객체의 doGet()
이나 doPost()
메서드 안에 입력이 됩니다.
표현식 태그
: Java의 변수 및 메서드의 반환값을 출력하는 태그
<%= 자바변수%>
형태이며, <% PrintWriter.out.println(변수) %>
와 기능과 표현이 동일합니다.
doGet()
이나 doPost()
메서드 안에 out.println()이 곧 표현식 태그입니다.
지시어
: 서버에서 jsp페이지를 처리하는 방법에 대한 정의
<%@
로 시작하여%>
사이에 속성=값 형태로 원하는 값을 입력할 수 있습니다.
지시어는 여러가지가 존재합니다. 위와같이 page
지시어, include
지시어 등 수많은 지시어가 존재하며 각 지시어는 각각의 속성을 가질 수 있습니다.
여기서 나온 import
지시어는 자바에서 사용할 라이브러리를 불러오는 지시어이며, include
지시어는 외부 파일을 합칠때 사용합니다.
서블릿과 JSP는 구조가 상반되어 있다.