반응형
01. JSP(Java Server Page)
- 서블릿보다 쉽게 웹프로그램을 작성하기 위한 기술
- Web Application => Servlet(Java코드 80% + CSL 20%) => JSP(CSL 80% + Java 20%)
- JSP 파일은 Servlet 파일로 변환 되어 실행된다.
02. Servlet
- 자바 기반 하의 웹 추가
- 자바에 HTML코드 넣기
- 서블릿은 Java클래스이기 때문에 Java Resources에 만들어야함
03. JSP의 개념
- 웹 기반 하의 자바 추가
- HTML에 자바코드 넣기
- JSP 는 웹문서이기 때문에 webapp에 만들어야함
- 그래서 JSP는 디자인(HTML)과 프로그램(JAVA)을 분리할 수는 없음
- JSP는 웹문서일 뿐, 웹프로그램은 아님
- 클라이언트가 요청하면???
- WAS가 JSP를 서블릿으로 바꿔주는 프로그램에 의해
- 서블릿으로 바껴(클래스를 메모리에 로드해) 객체를 만들고
- service()메소드가 호출되어 요청에 대한 응답을 함
- 즉, 웹프로그램처럼 실행됨
- WAS가 Start 되면 (실행 시) 이 내부에 서블릿클래스가 만들어지는 것임
- JSP를 바꾸면 서블릿 클래스가 바껴아함
- 하지만 간혹 JSP를 바꿔도(수정해도) 서블릿 클래스가 안바껴서 웹브라우저에 수정된 결과가 안나올 경우가 있음
방법1) 서블릿 클래스가 업데이트가 안된 경우 : WAS의 work driectory clean 하기(초기화)
방법2) 브라우저의 자체의 문제 : 브라우저 캐쉬 지우기
방법3) 프로젝트 clean 하기(초기화)
- 컴파일된 클래스파일들 싹 없애주고 다시 컴파일해줌 ( 간혹, 정상적인 결과가 나오지 않을 때)
04. JSP 주석
<!-- 설명문 --> HTML 주석(소스보기를 하면 보인다.)
<%-- 설명문 --%> JSP/Java 주석(소스보기를 해도 보이지 않는다.)
05. [JSP 예시] hello.jsp
<%@page import="java.text.SimpleDateFormat"%>
<%@page import="java.util.Date"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
//Java 명령 작성
Date now=new Date();
SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy년 MM월 dd일 HH시 mm분 ss초");
String displayNow=dateFormat.format(now);
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JSP</title>
<style type="text/css">
#displayDiv {
width: 600px;
margin: 0 auto;
padding: 30px;
font-size: 2em;
font-weight: bold;
text-align: center;
border: 1px solid black;
}
</style>
</head>
<body>
<h1>Hello, JSP!!!</h1>
<hr>
<!-- HTML 주석 : 설명문이 클라이언트에게 전달 - 소스보기 가능(웹디자이너) -->
<%-- JSP 주석 : 설명문이 클라이언트에게 미전달 - 소스보기 불가능(웹프로그래머) --%>
<p>JSP(Java Server Page) : 서블릿보다 쉽게 웹프로그램을 작성하기 위한 기술
- 스크립팅 요소(Scripting Element), 지시어(Directive), 표준 액션 태그(Standard Action Tag)</p>
<hr>
<p id="displayDiv"><%=displayNow %></p>
<script type="text/javascript">
setInterval(function() {
location.reload();
}, 1000);
</script>
</body>
</html>
1) 순서
- 클라이언트가 jsp를 요청하면 WAS는 servlet(웹프로그램)으로 만들어 동적 출력
- 클라이언트가 hello.jsp를 요청하면
- hello_jsp.java & hello_jsp.class가 생성되어있음
- hello_jsp.java는 서블릿 객체임
- 즉, 클라이언트가 웹문서(JSP)를 요청하면 WAS는 그에 맞는 웹프로그램(Servlet)으로 만들어서 처리해준다는 것임
06. HTML 문서를 JSP문서로 변경하는 법
- page Directive 추가하고 -> 확장자 .jsp로 변경하면됨
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
반응형
'jsp' 카테고리의 다른 글
[jsp] 6. JSP 내장객체의 사용범위(Scope) (0) | 2024.07.06 |
---|---|
[jsp] 5. JSP 내장객체 (0) | 2024.07.05 |
[jsp] 4. 커스텀 태그 클래스 등록해 사용하는 법 (taglib Directive) (0) | 2024.07.05 |
[jsp] 3. Include Directive를 통한 사이트 구축 (중형사이트에 최적) (0) | 2024.07.04 |
[jsp] 2. JSP구성요소 (스크립팅요소 | 지시어 | 표준액션태그) (0) | 2024.07.04 |