프로그래밍 공부

2025.02.06 JSP 공부

3452 2025. 2. 6. 17:54

JSP란?

 

정적 웹페이지는 미리 만들어둔 정보만 제공하기 때문에 고객의 취향이나 변화에 적응 할수 없다는 점을 보완하고자  동적 웹페이지를 정적 웹페이지인 HTML에 다가 java를 결합하여 구현한것이다.

 

HTML에서의 <a>태그나 <form> 태그로 서버에 요청을 하면 서버에서는 java를 추출 컴파일 문자화 시켜 HTML의 형태로 만들어 클라이언트에게 응답한다.

 

 

JSP 동작과정

 

1. 클라이언트가 JSP 요청

2. JSP파일에서 자바를 추출한다.

3. 자바 코드를 컴파일 하여 문자의 형태로 변환시킨다.

4. 문자로 변환된 자바파일을 HTML 파일에 삽입한다.

5. HTML 상태로 가공된 파일을 클라이언트에게 전달한다.

 

 

웹 애플리케이션 서버

 

대표적으로 아파치 톰캣이 있고, 웹 서버와 웹 컨테이너의 기능을 모두 할수 있다.

 

클라이언트의 요청에 따라 JSP 파일에서 java를 추출하고 컴파일 하여 수행 결과를 웹 서버에 전달하여 주는 역할을 한다.

 

 

 

서블릿과 JSP의 생명주기

 

서블릿 객체가 처음 요청될때 서블릿 클래스를 메모리에서 로딩하여 객체생성되고, 생성된 객체는 메모리에 계속 존재 하기 때문에 이후 부터는 메모리에 있는 서블릿 객체를 사용한다.

 

서블릿 객체는 처음 요청될때 초기화되고,  클라이언트의 요청이 있을때 GET과 POST 여부에 따라 실행되며

 

사용되지 않으면 주기적으로 destroy() 메서드에 의해 제거된다.

 

 

JSP 개발 환경

 

1. 운영체제

: JSP 프로그램을 구동하기 위해서 반드시 윈도우나 리눅스 같은 운영체제가 필요하다.

 

2. 자바 개발 환경

: JSP는 HTML에 java 코드를 작성하기 때문에 자바 개발도구인 JDK가 필요하다.

 

3. 웹 서버

: 웹 프로그래밍 언어로 작성된 웹 페이지가 실행되어 웹 브라우저에 나타나도록 하기 위해 웹 서버를 설치해야하며,

주로 아파치 톰캣을 사용한다.

 

4. 통합 개발 환경

: JSP 코드를 작성한 후 이를 컴파일하고 오류검사하고 실행 결과를 확인 하기 위해 이클립스와 같은 IDE 프로그램이 필요하다.

 

 

자바 환경변수를 설정하는 이유

 

자바를 작업할때마다 JDK의 경로를 찍어줘야 하는 불편함을 막기 위해서 JDK를 환경변수 설정하여 어느 경로에서나 JDK에 접근하여 소스코드를 만들고 일일이 절대경로를 적지 않기 위해서이다.

 

 

VC방식으로 JSP 작성하기

 

index.html 파일을 작성하고, <a href="ch02_1">요청<a>의 형태로 요청명을 포함한 a태그를 작성한다.

 

ch02_controller 클래스를 작성하고, @WebServlet("ch02_1)을 퍼블릭 클래스 위에 붙이고, 퍼블릭 클래스로 HttpServlet 클래스를 상속받는다.

 

퍼블릭 클래스에 override를 이용해 HttpServlet 클래스 안의 doGet 메서드를 오버라이드 한다.

 

doGet 메서드 안에 System.out.println("연결이 감지되었습니다"); 코드를 삽입하여

 

index에서 a태그를 누르면 연결된 서브렛이 호출되어 "연결이 감지되었습니다"를 출력하는지 확인한다.

 

webapp 폴더 안에 ch02 폴더를 만들고 그 안에 declaration01.jsp 파일을 만들고 알아볼수 있게 텍스트를 적는다.

 

ch02_controller 클래스로 돌아가 출력문을 지우고

 

RequestDispatcher dispatcher = req.getRequestDispatcher("ch02/declaration01.jsp");

dispatcher.forward(req, resp); 를 작성한다.

 

이렇게 코드를 구성하면 결과적으로

 

index.html 파일 안에 있는 a태그를 누르면 ch02_1이 서브렛을 간접적으로 요청하게 되고,

 

이를 감지한 서브렛이 doGet 메서드를 실행시켜 ch02폴더 안의 declaration01.jsp 파일을 열게된다.

 

결과적으로 html 파일에서 declaration.jsp파일로 이동하게 된다.

 

 

 

 

'프로그래밍 공부' 카테고리의 다른 글

2025.02.10 JSP 공부  (0) 2025.02.10
2025.02.07 JSP 공부  (0) 2025.02.07
2025.02.05 java 공부  (0) 2025.02.05
2025.02.04 java 공부  (0) 2025.02.04
2025.02.03 java 공부  (0) 2025.02.03