본문 바로가기

Study/개발일지

[백엔드TIL] JSP와 Servlet 개념

Server Side Applet인 Servlet에 대해여 정의하고 Servlet클래스를 만들기 위한 방법을 기술하시오

-JAVA Servlet은 JAVA를 사용하여 웹페이지를 동적으로 생성하는 서버측 프로그램 혹은 그 사양을 말하며, 흔히 "서블릿" 이라 불린다.

서블릿은 JAVA EE 사양의 일부분으로, 주로 이 기능을 이용하여 쇼핑몰이나 온라인 뱅킹 등의 다양한 웹 시스엠이 구현되고 있다.

서블릿은 외부 요청마다 프로세스보다 가벼운 쓰레드로써 응답하므로 보다 가볍다. 또한 , 서블릿은 JAVA로 구현되므로 다양한 플랫폼에서

동작한다.

Servlet과 JSP의 차이점에 대하여 말해주세요

-servlet은 java 소스에 HTML코드가 삽입된다

-JSP는 반대로 HTML코드에 java코드가 삽입된다.

-Servlet Class는 컴파일과정과 등록 과정이 필요하지만 JSP는 필요없다.

-Servelt 보다는 JSP 다자인과 로직에 대한 구분이 명확해서 유지보수가 용이하다.

-간단한 로직을 구현할 때는 JSP가 더 간편하다.

-하지만 복잡한 로직을 구현할 때에는 HTML 중심의 코드가 이해하기 어렵게 만들 수 있고, 프로그래밍 언어를 모르는 사람이

실수로 중요한 코드를 건들 우려도 있다. 그리고 힘들게 개발한 로직의 유출을 막기 위해서도 Servlet 기술이 필요하게 된다.

그래서 요즘은 JSP 기술과 Servelt 기술을 혼용한 MVC 프로그래밍 방법이 권장되고 있다. 프로그램의 기능을 구현하는 복잡한

로직은 서블릿 클래스 안에서 기술하고 , 그 결과를 가져다가 출력하는 일만 JSP 페이지가 담당하도록 만드는 방법이다.

JSP구성 요소인 지시어(Directive),주석문(Comments),선언문(Declarations),수행문(Scriptlets)을 설명하세요.

*지시어(Directive) -> <%@ %>

1)page : JSP 페이지에 대한 정보를 지정(문서의 타입 , 출력 버퍼 크기, 에러 페이지 등)

- language , contentType , import , session , buffer , autoFlush, errorPage , isErrorPage 등등

2)tablib : JSP 페이지에서 사용 할 태그 라이브러리 지정

3)include : JSP 페이지의 특정 영역에 다른 문서를 포함

*주석문(Comment)

1)HTML <!-- -->  , JAVA // , /* */ , JSP <%-- --%>

*선언문(Declarations)

<%! %> : java 메서드를 만든다.

*연산문(Expressions)

<%= %> : 값을 출력한다.

*수행문(Scriptlets)

<% %> : 자바 코드를 실행한다.

-Action tage : <jsp: ~ />

-Custom Tag 

-EL

-Implicit Object - 내장 객체

request와 response 객체에 대해 말해보세요

request : 클라이언트에서 넘어오는 데이터를 전달 받기 위한 객체

response : 서버에서 클라이언트로 데이터를 전달하기 위한 객체

클라이언트에서 데이터를 넘기는 방법에 대해 설명하시오

1)html에서 form 객체를 작성하여 action 으로 정해진 서버의 url로 전달하는데 전달할 때는 submit 함수를 이용해 전달

2)get 방식으로 url 뒤에 ?를 이용하여 작성

728x90