JSP&Servlet

[JSP]1. JSP의 구성요소

CodeJaram 2023. 6. 20. 08:17

1. JSP의 필요성

-Servlet은 수정이 어려움

-프로그램이 복잡해지면 Servlet을 통해 출력되는 HTML페이지를 상상하기 어려움

-Servlet→java 기반 / JSP→HTML 기반

 

<서블릿과 JSP 비교>

 

2. JSP(Java Server Page): HTML 내에 Java 코드를 작성하고 웹 서버에서 웹 페이지를

생성하여 Web browser에 돌려주는 Java 기반의 스크립트 언어→서블릿의 일종으로

서블릿으로 변환됨

 

 

 

 

3. JSP life Cycle

 

 

4. JSP의 구성요소

 

 

 

1)스크립트릿: JAVA 코드를 작성하는 부분, JSP는 HTML 기반이므로 줄여가는 것이 좋음

 

 

 

 

*jsp 파일 경로

*public void _jspService 메소드의 try-catch문에 스크립트릿에서 작성한 코드가 입력됨

 

2)표현식: 웹 브라우저에 결과값을 출력하기 위한 부분(상수, 변수, 연산자, 메소드 호출)

*세미콜론(;)은 사용하지 않음

*문자열은 입력불가, 문자열은 표현식 바깥에 작성

 

 

 

 

 

[실습1]

<!-- 1부터 100까지의 합 구하기 -->
<% int sum=0;
	for(int i=1; i<=100; i++){
		sum+=i;
}	
	%>

<!-- web에 출력하기 -->
1부터 100까지의 합: 
<%=sum %>

 

 

[실습2]

 

<body>

<!-- 10개의 방 만들기 -->
<!-- 1행 10열 -->
<table border="1">
	<tr>
	
	<%for(int i=1; i<=10; i++){%> <!-- java 영역(스크립트릿) -->
	<td>						<!-- html 영역 -->
	<%=i%>						<!-- java 영역(표현식) -->
	</td>						<!-- html 영역 -->
	<%} %>						<!-- java 영역(스크립트릿) -->

	</tr>
</table>


</body>

 

3)선언문:  static 변수, 메소드 등을 클래스 영역에 선언하기 위해 사용하는 문법

-스크립트릿은 JspService 메소드 내에 코드가 입력되기 때문에 메소드 내에 메소드를 작성할 수 없음

-선언문이 작성되는 부분은 JSP에서 변환된 서블릿 클래스 

[실습1]

3)지시자: JSP가 Servlet으로 변환될 때 필요한 정보들을 기술

 

 

 

①page 지시자: JSP의 환경설정(전체적인 속성 지정)

 

 

 

-import

-error 페이지

 



[실습2]코드 에러 발생 시 보여줄 이미지 설정

JSP→ page 지시자 작성<%@ page errorPage="./Ex06_errorPage.html" %>

html →이미지 태그 작성 <img src="./error.PNG" >



②include 지시자: 현재 페이지에 다른 파일의 내용을 삽입할 때 사용

[실습3]include 지시자

main jsp →include 지시자<%@ include file="./Ex07_include.jsp" %>

include jsp→<div> 태그에 반복해서 보여줄 문구 작성

 

<ifame> 태그 내부페이지: src에 내부 파일 주소 작성

<ifame> 태그 외부페이지: src에 홈페이지 주소 입력

 

유튜브 영상 페이지 출력: 원하는 영상-소스코드 복사-jsp에 붙여넣기-실행

 

③taglib 지시자: 태그 라이브러리를 사용하기 위한 지시자 예)JSTL

 

-prefix: 별칭 uri: jstl을 사용하기 위한 주소

 

5. 주석

 

 

'JSP&Servlet' 카테고리의 다른 글

[JSP]3. MVC 패턴으로 JDBC 만들기  (0) 2023.06.22
[JSP]2. 내장객체  (0) 2023.06.21
[Servlet]3. 데이터 전송방식(get/post)  (0) 2023.06.19
[Servlet]2. 데이터 전송(get방식)  (0) 2023.06.19
[Servlet]1. 웹 통신  (0) 2023.06.16