JSP, SERVLET

JSP

Adev 2023. 1. 12. 00:01

:JavaServer Pages


jsp는 servlet으로 바뀐 후 서블릿과 같은 방식으로 실행된다.(서블릿 소스가 생성되고 실행된다.) (by tomcat) 

 

 

1. 실행순서

브라우저가 jsp로 웹서버에 요청을 한다.


-> 서버는 jsp에 해당하는 서블릿이 있는지 찾는다.
존재한다면 서블릿 엔진이 요청을 받아 실행한다.
존재하지 않는다면, 즉 처음으로 요청한다면 jsp 엔진이 요청을 받는다. jsp를 최초로 요청할때 jsp 코드가 서블릿 코드로 변환된다.

(.jsp 파일을 실행하면 이클립스 워크 스페이스 안에 .java 파일이 생성된다. _jspService() 메소드에 jsp 파일에 입력한 내용이 변환돼서 들어있다.)


-> java는 서블릿 소스로 컴파일되어 실행가능한 bytecode로 변환된다(class 파일 생성) 
jsp 엔진은 서블릿 클래스를 로딩해 인스턴스를 생성한다.


-> 서블릿이 실행되어 요청을 처리하고 응답 정보를 생성해 브라우저에 보여준다.


-> html에 자바코드를 넣어서 프로그램을 실행시키도록 해준다.

 

 

2. 스크립트 요소

1) 선언문(Declaration)

: <%! ~ %> 

: 전역변수 선언 및 메소드 선언

 

cf. 선언문을 사용하면 _jspService() 메소드 내가 아니라 다른 메소드에서 사용할 수 있다.

 

<%! 
public void jspInit(){
System.out.println("jspInit()");
}
%>

<%! 
public void jspDestroy(){
System.out.println("jspDestroy()");
}
%>
<%!
String id = "abc"; //멤버변수 선언
public String getId() { //메소드 선언
return id;
}
%>

 

2) 스트립트릿(Scriptlet)

: <% %>

: 지역변수 선언 (.jsp_servic() 메소드 안에 선언)

: 프로그래밍 코드

 

3) 표현식(Expression)

: <%=  %>

: 웹브라우저 화면에 출력할 내용

: 브라우저에 응답 결과로 준다.

 

 

cf. 주석(Comment)

<%-- jsp 주석 --> : 볼 수 없음

//java 주석 : jsp -> servlet -> java 파일까지 확인가능. 출력 화면 소스보기에서는 볼 수 없음

<!-- html 주석 -->: 출력 화면 소스보기에서 확인 가능

 

 

3. JSP 내장객체

: _jspService()에 삽입된 코드 윗부분에 미리 선언된 객체로 jsp에서 사용가능하다.

(response, request, appliccation, session, out 등 변수)

 

1) request 

: 사용자 입력 정보를 읽어올 때 사용

 

2) response

: 사용자 요청에 대한 응답을 처리할 때 사용

 

3) session

: 클라이언트 세션 정보를 처리할 때

 

4) out

:사용자에게 전달하기 위한 output 스트림을 처리할 때

'JSP, SERVLET' 카테고리의 다른 글

쿠키, 세션  (0) 2023.02.28
SCOPE  (0) 2023.01.16
SERVLET  (0) 2023.01.11
EL JSTL list 값 가져오기  (0) 2022.12.30
<form>태그 multipart/form-data 인코딩 방식  (0) 2022.11.01