공부일지

231114 (JSP)

CD가참둥그렇다 2023. 11. 14. 17:44

메소드의 생성

  • 자바에서 메소드를 만드는 과정에서 사용되었던 지역 = 클래스 지역
  • JSP 컨테이너(톰캣) : 바로 아래 메소드를 자바코드 영역으로 만들고 사용할 수 있게 제공해준다.
  • 기본 스크립틀릿 태그는 사실 하나의 메소드 내부에서 동작하는 코드를 만들어 냈던 것
  • <%! %>선언문 태그 내부에 메소드를 작성하면 동작하는 메소드가 된다.
<%!int getSum(int a, int b) {
		return a + b;
	}
	int getMinus(int a, int b) {
		return a - b;
	}
	int getMul(int a, int b) {
		return a * b;
	}
	int getDiv(int a, int b) {
		return a / b;
	}%>
	<a>getSum: <%=getSum(10, 20)%></a>
	<a>getMinus: <%=getMinus(10, 20)%></a>
	<a>getMul: <%=getMul(10, 20)%></a>
	<a>getDiv: <%=getDiv(10, 20)%></a>

디렉티브 태그 <%@ %>

  • Page 디렉티브 태그 : 현재 JSP 페이지에 대한 정보를 담는다.
    • ContentType : 어떤 형태로 페이지를 출력 할건지에 대한 결정을 한다.
      • contentType="application/json; charset=UTF-8" Json 형태로 응답한다.
    • PageEncoding :문자 인코딩(각 나라별 언어마다 인코딩 방식이 다르다. 한글UTF=8)
      • pageEncoding="UTF-8”
    • import : 외부 클래스를 사용하기 위해 기능을 추가한다.(자동완성을 써야 자동 임포트 처리된다.)
      • <%@page import="java.util.Date"%>
    • error : isErrorPage가 true라면 에러페이지로 사용 가능하다. errorpage를 통해 에러 발생 시 대신 동작할 페이지를 지정할 수 있다.
      • errorPage="Ex02_Error.jsp”
      • isErrorPage="true”

디렉티브 태그 테스트

  • Random클래스를 이용해서 1~100사이의 수가 랜덤하게 출력되게 만들어보기.(HTML)에 숫자가 표기 되어야 한다.
  • 해당하는 수 ↑ 홀수인지 짝수인지를 판단하여 HTML에 보여주기 (랜덤한수도 같이 보임)
 	<%@page import="java.util.Random"%>	
	<% int ran = new Random().nextInt(100)+1; 
	String oddEven = "";
	if(ran%2==0){
		oddEven = "짝수";
	} else {
		oddEven = "홀수";
	} %>
	<h4>Random (1~100) : <%= ran %></h4>
	<h4><%= ran %> : <%= oddEven %></h4>
  • include 디렉티브 태그 : 특정 파일을 가져와서 사용하기 위한 디렉티브 태그이다.
    • header, footer처럼 페이지 전체에 걸쳐 필요한 부분을 다른 파일로 저장해두고 그 파일의 태그를 가져와 사용할 수 있도록 해준다.
<%@ include file="/include/header.jsp" %>
	<p>Ex03_Main</p>
	<p>메인 컨텐츠</p>
	<%@ include file="/include/footer.jsp" %>
  • 경로에서 폴더 나기기 : ../를 앞에 붙인다.
  • action 디렉티브 태그 : <jsp:이름>의 구조로 사용 가능하다.
    • forward : 어떤 요청이 왔을 때 다음 페이지에게 요청의 응답을 넘기는 것.
      • <jsp:forward page="Ex01_Forward_Result.jsp"></jsp:forward>
    • jsp:inclued : JSP의 include는 파라메터를 넘겨서 붙이는 것이 가능하다.
      • 일반적으로 servlet의 역할이기 때문에 Jsp에서 잘 사용하지 않는다.
    • <jsp:include page="/include/header.jsp"></jsp:include>
    • <jsp:param value="CD" name="name"/> : 파라미터를 넘겨줄 수 있다.
    • <%= request.getParameter(”이름”)%>으로 전달받은 파라미터를 사용할 수 있다.