java,jsp,spring/JSP
JSP 동작 원리, 태그
프루트
2022. 8. 10. 20:19
JSP
- 동작 원리

- 스크립트 태그
- <%@…%> : JSP 페이지의 속성을 기술
- <%= ... %> : 변수, 계산식, 메소드 호출 결과를 문자열 형태로 출력, 세미콜론(;) 사용하지 않음
- <%! ... %> : 멤버 변수 선언과 메소드 정의
- <% scriptlet %> : 순수 자바 코드 기술, 객체 생성할 때 사용, 메서드 선언은 안되고 호출은 가능
- 주석
- <!— comments —> : 웹 브라우저에서 소스보기를 했을 때 주석 내용을 확인 가능
- <%— comments—%> : HTML 주석과 달리 클라이언트로 전달되지 않는 주석
- 액션 태그 : <jsp:action></jsp:action>
[예시 코드 - 선언문]
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<center><h3>[ 선언부(declaration)에 대한 예제]</h3></center>
<hr>
<%!
String str = "안녕하세요!";
int a = 5, b = -5;
public int abs(int n){
if(n<0){
n=-n;
}
return n;
}
%>
<%
out.println(str+"<br>");
out.println(a+"의 절대값은 => "+abs(a)+"<br>");
out.println(b+"의 절대값은 => "+abs(b)+"<br>");
%>
</body>
</html>

[예시 코드 - 스크립트릿]
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<center><h3>[ 스크립트릿(scriptlet)에 관한 예제]</h3></center>
<hr>
<%
for(int i=0; i<5; i++){
//out.println("안녕하세요!"); //ln > JSP에서 line 변경 안됨
%>
안녕하세요3!<br> //html태그로 라인 변경
<%
}
%>
</body>
</html>

[예시 코드 - 표현식]
<%@page import="java.util.Date"%>
<%@page import="java.util.Calendar"%>
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<p>
Today's date : <%= new Date() %>
Current Time : <%= Calendar.getInstance().getTime() %>
</p>
</body>
</html>

[예시 코드 - 액션 태그]
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<%!
String name = "홍길동";
%>
<%
String addr = "서울시 송파구 석촌동";
%>
이름 : <%= name %> <%-- 식(expression)을 이용해서 출력 --%>
<br>
주소 : <% out.println(addr); %> <%-- scriptlet을 이용해서 출력 --%>
<br>
<jsp:include page="age.jsp"></jsp:include> <%-- 파일 불러오기 --%>
</body>
</html>
