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>