공부일지
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”
- ContentType : 어떤 형태로 페이지를 출력 할건지에 대한 결정을 한다.
디렉티브 태그 테스트
- 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(”이름”)%>으로 전달받은 파라미터를 사용할 수 있다.
- forward : 어떤 요청이 왔을 때 다음 페이지에게 요청의 응답을 넘기는 것.