스크립트 태그
HTML 내부에 자바 코드를 넣어 프로그래밍이 가능하도록 만들 수 있다
1. 선언문 (Declaration)
<%! %>
자바의 변수나 메소드를 정의하는데 사용되는 태그
2. 스크립틀릿 (Scriptlet)
<% %>
자바 변수 선언 및 자바 로직 코드를 작성하는데 사용되는 코드
3. 표현문 (Expression)
<%= %>
변수, 계산식, 메소드 호출의 리턴값 등을 표현해주는 태그
HTML 문서에 안에 작성한 값이 그대로 표현된다. 타입은 문자열이다
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>scriptTag1</title>
</head>
<body>
<h2>scriptTag1</h2>
<%!
int count = 3;
String sayHello(String data){
return "Hello " + data;
}
%>
<%
for(int i = 1; i <=count; i++){
//out객체 : 웹페이지의 화면을 구현하기 위한 JSP내장 객
out.println(i+". Java Server pages<br>");
}
%>
<!-- HTML 주석은 컴파일이 모두 되고 나서 페이지에서 감춰지는 형태이다. 따라서 내부 내용들이 다 실행된다 -->
<%-- JSP주석은 안에 작성된 모든 코드가 무시되므로 JSP주석을 권장한다 --%>
<!-- 표현문은 서블릿의 out.print() 메소드의 매개변수로 전달되기 때문에 세미클론을 사용하면 안된다 -->
<!-- out.println("sayHello(\"JSP"\)의 결과: ");
out.println(sayHello("JSP")); -->
sayHello("JSP")의 결과 : <%=sayHello("JSP")%>
<!-- -->
</body>
</html>
디렉티브 태그
<%@ page %>
현재 JSP 페이지에 대한 정보를 설정하는 태그이다
되도록 페이지 최상단에 선언한다
import를 제외하고 딱 한번씩만 작성할 수 있다
속성명
language : 사용할 프로그래밍 언어 java
contentType : 생성할 문서의 콘텐츠 유형 text/html
pageEncoding : 인코딩 설정 ISO-8859-1
session : 세션을 사용할 것인지 여부 true
info : 페이지에 대한 설명 작성(주석처럼 이용)
errorPage : 예외 발생시 이동할 페이지 설정
isErrorPage : 예외페이지로 설정할지에 대한 여부 false
import : 사용할 자바 클래스 추가
<%@page import="java.util.Date"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page errorPage="myErrorPage.jsp" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>directiveTag</title>
</head>
<body>
<h2>directiveTag</h2>
Today is <%= new Date() %>
<%
String str = null;
str.length();
%>
</body>
</html>
include 디렉티브 태그
<%@ include %>
현재 JSP 페이지의 특정 영역에 외부 파일의 내용을 포함시키는 태그이다
보통 header와 footer는 대부분의 페이지에서 동일한 내용으로 작성되기 때문에 각 JSP 파일마다 그 코드들을 반복해서 작성하는 것이 아니라 유지보수 및 편의를 위해 외부 파일로 만든 후 include하여 사용한다
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>includeTest</title>
</head>
<body>
<%@ include file="./header.jsp" %>
<h4>-----------현재페이지 영역-------------</h4>
<p>
안녕하세
</p>
<h4>------------------------------------</h4>
<%@ include file="./footer.jsp" %>
</body>
</html>
액션 태그
서버나 클라이언트에게 어떤 행동을 하도록 명령하는 태그
페이지나 페이지 사이를 제어하거나 다른 페이지의 실행 결과 내용을 현재 페이지에 포함시키거나 자바빈즈(객체) 드으이 다양한 기능을 제공한다
액션태그는 XML 형식인 <JSP:?? />를 이용한다
1. <jsp:forward/>
다른 페이지로 이동, 페이지의 흐름을 제어하기 위한 역할
2. <jsp:param/>
현재 페이지에서 다른 페이지의 값을 전달하기 위한 역할
3. <jsp:useBean/>
4. <jsp:setProperty/>
5. <jsp:getProperty/>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>paramTest</title>
</head>
<body>
<h2>아주 예쁜 제목</h2>
<% request.setCharacterEncoding("UTF-8"); %>
<jsp:forward page="paramResult.jsp">
<jsp:param value="apple" name="userid"/>
<jsp:param value="김사과" name="username" />
</jsp:forward>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>paramResult</title>
</head>
<body>
<h2></h2>
<div>
꾸며진 내용
</div>
<p>
아이디 : <%= request.getParameter("userid") %>
</p>
<p>
이름 : <%= request.getParameter("username") %>
</p>
</body>
</html>
자바빈즈(자바 객체)
JSP의 표준 액션 태그를 통해 접근할 수 있는 자바 클래스로서
필드 변수와 setter, getter 메소드로 이루어져 있다
여러 데이터들을 포장해서 가지고 있는 형태로 구성되어 있다
자바빈즈 태그
객체 생성
<jsp:useBean class="패키지명.클래스명" id="객체명"/>
객체 필드 세팅
<jsp:setProperty name="세팅할객체" property="필드명" value="세팅값"/>
객체 필드값 접근
<jsp:getProperty name="객체" property="필드명"/>
자바빈즈 개발 규약
1. 패키지화(default 패키지 인식 불가)
2. 필드 변수 접근자는 private으로 설정(접근은 메소드로만 가능하게 하기 위함)
3. getter,setter 메소드는 반드시 public으로 설정
'BACK-END' 카테고리의 다른 글
[JSP] EL문과 JSTL (0) | 2022.02.04 |
---|---|
[JSP] DB연결 ) Mybatis (0) | 2022.01.31 |
[JSP]Java Server Pages 시작 (0) | 2022.01.17 |
[MySQL]간단한 MySQL 사용 방법(SQL문) (0) | 2022.01.04 |
[ORM] ORM 프레임워크 (0) | 2020.06.17 |