JSP

JSP 와 Servlet 알아보기

모자 2021. 7. 26. 12:42
728x90
반응형

JSP(Java Server Pages)란

HTML 코드에 Java 코드를 넣어 동적인 웹 페이지를 생성하는 웹 어플리케이션 도구이다.

servlet의 단점을 보완하고자 만든 서블릿 기반의 스크립트 기술이다.(내부적으로는 servlet으로 변환되어 컴파일된다.)

html 내부에 java코드가 있어 html 코드를 작성하기 쉽고 효율적인 웹사이트 구성에 유용하나, 유지보수가 어렵다.

 

 

 

JSP의 동작 구조

 

jsp파일을 만든다. (a.jsp 라고 가정하자)-> 사용자가 웹 컨테이너에 요청-> a.jsp.java로 변환->컴파일러에 의해 a_jsp.class로 변환->링크 작업을 위해 a_jsp.obj로변환 -> html 파일 형태로 응답받는다.

 

JSP 파일 생성법

 

New->Dynamic Web Project를 클릭 후 프로젝트 이름을 만들고 Next를 클릭한다.

New->Dynamic Web Project를 클릭 후 프로젝트 이름을 만들고 Next를 클릭한다.

Generate web.xml deployment descriptor을 체크 후 Finish!

프로젝트를 만들었으면 프로젝트에서 JSP 파일을 생성한다.

JSP파일은 위 그림처럼 HTML에 맨 위 두줄 JSP문법을 추가한 파일이다. 두 개가 별개의 문서가 아니라 확장자를 JSP로 바꾸면 JSP파일이 되는 것이다.

html코드를 사용해 서버를 통해 실행시켜주면

 

끝!!!!

 

 

Servlet이란?

servlet에 대해 찾아본 결과 '클라이언트의 요청을 처리하고 그 결과를 다시 클라이언트에게 전송하는 Servlet 클래스의 구현규칙을 지킨 기술' 이라는 결과가 가장 많았다.

servlet은 java코드 안에 html 태그가 섞여있어 분리적 측면에서 효율성이 떨어지기 때문에 프로그래밍하기 상대적으로 어렵고 수정하기 어려워 JSP가 등장했다.

 

Servlet의 동작과정

사용자가 Browser을 통해 서버에 요청->웹컨데이터가 java파일을 만듦 ->class파일로 변환-> obj파일로 변환->

다시 사용자에게 응답

 

Servlet 파일 생성법

 

먼저 JSP파일을 생성할 때와 같이 프로젝트를 생성한 후,

Servlet을 클릭하고 package와 Class name을 적어준다.

 

Next를 클릭하면 URL mapping 이라고 나오는데 이부분은 다음에 설명하도록 하겠다.

src안에 이러한 코드가 있으면 생성 완료!

 

Servlet은 순수자바 파일이므로 html을 출력하려면 객체 PrintWriter을 사용해야하는데

PrintWriter는 doGet메소드의 httprequest와 httpresponse의 getWrite 객체를 호출하여 얻는다.

위와 같이 print를 통해 html코드를 나열한다.

서버를 통해 실행시켜주면 위 화면처럼 뜰것이다.

만약! 위와 같이 화면이 뜬다면 

response.setContentType("text/html"); 코드를 추가해준다.

 

JSP와 Servlet에 대해 추가 설명을 해보자면,

로그인 회원가입 등을 할 경우 계정아이디와 패스워드의 정보등이 submit버튼을 통해 서버로 전송(request)이 되는데

그 데이터들을 서버에서 가공하고 처리해 사용자에게 응답(response)을 하는 언어가 JSP/Servlet이다.