JSP.basic

**JSP 기본**
JSP ( Java Server Page ) : 동적인 웹페이지 개발을 위한 기술
서블릿과 다르게 HTML 페이지 상에서 자바코드(JSP Tag)를 삽입하는 형태로 개발
JSP 는 WAS(Web Container) 에 의해 Java class 로 생성되어 실행된다
이 Java class는 HttpServlet의 자식 클래스이다 ( JSP is a Servlet )
생성된 java class는 tomcat/work 디렉토리 내에 위치된다
Model 2 Architecture MVC 에서는 JSP는 View 역할 담당 , Servlet은 Controller 의 역할을 담당한다
Java component(or Java Beans) 는 Model 역할을 담당한다
JSP 기본 문법
1) 주석 <%-- --%> 참고) html 주석 <!-- -->
2) scriptlet <% java code %> service 메서드 내에 코드 삽입
3) directive(지시자) <%@ jsp 문서의 정보 %> 한글처리방식 , 문서타입 , import 등을 기술
4) expression <%= %> out.print() 의 역할 , 화면에 출력
5) declaration (선언) <%! %> 멤버 변수, 메서드 정의시 사용
JSP LifeCycle ( Servlet 과 동일 -> 차이점은 jsp가 .java로 생성되고 컴파일되어 실행 )

<%@page import="java.util.Date"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>jsp 기본</title>
</head>
<body bgcolor="yellow">
<!-- html 주석 -->
<%-- jsp 주석 : client에 전달되지 않는다 --%>
<%
for (int i = 0; i < 10; i++) {
%>
<font size="5" color="green">칭따오<%=i + 1%></font>
<br>
<%
}
%>
<br>
<br>
<%
Date d = new Date();
%>
현재시간
<%=d.toString()%>
<br>
<br>
<%-- 인스턴스 변수 선언, 메서드 정의 --%>
<%!int count;
public void test() {
System.out.println("method test");
}%>
접속수
<%=++count%>
<%
test();
%>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>jsp basic2</title>
</head>
<body>
<%!public void jspInit() {
System.out.println("jspInit");
}
public void jspDestroy() {
System.out.println("jspDestroy");
}%>
<%
//아래 코드는 jspService() 메서드 내에 삽입된다
System.out.println("jspService");
%>
JSP LifeCycle Test
</body>
</html>