[JSP+Servlet] 서블릿 JSP 란? (기초)
서블릿이란?
서블릿(Servlet)은 Server + Applet의 합성어로 자바를 이용하여 웹에서 실행되는 프로그램을 작성하는 기술을 말함
서블릿은 자바 클래스 형태의 웹 어플리케이션을 말하는데, 브라우져를 통해서 실행되게 하기 위해서는
javax.servlet.http 패키지에서 제공하는 HttpServlet클래스를 상속받아 구현하며, HttpServlet 클래스를 상속 받아 만든 서
브 클래스를 서블릿 클래스라고 함
JSP란?
jsp는 (java server page)의 약자이며 HTML 코드에 JAVA 코드를 넣어 동적웹페이지를 생성하는 웹어플리케이션 도구이다.
HTML과 JSP태그 (스크립트릿)로 구성되어 화면을 작성하는 데 유리하다.
그렇게 생성된 데이터를 웹페이지와 함께 클라이언트로 응답한다.
jsp와 servlet의 차이점 ?
서블릿은 자바 클래스 내부에서 자바 코드가 기본이 되고 출력 스트림을 통해 HTML 코드 를 문자열 형태로 기술하여 클라이언트에 전송하고
JSP는 HTML 코드가 기본이 되고 스크 립트릿 안에 자바 코드를 기술함
예제 -> 두 수에 대한 합을 구하여 결과 출력하는 서블릿 클래스
package unit01;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class AdditionServlet01
*/
@WebServlet("/AdditionServlet01")
public class AdditionServlet01 extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public AdditionServlet01() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
* response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
int num1 = 20;
int num2 = 10;
int add = num1 + num2;
PrintWriter out = response.getWriter();
out.println("<html><head><title>Addition</title></head>");
out.println("<body>");
out.println(num1 + "+" + num2 + "=" +add);
out.println("</body>");
out.println("</html>");
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
* response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
1. 만들어진 Dynamic Web Project에서 -> new -> Servlet을 선택하고
2. 비어 있는 java package와 Class name을 본인의 원하는 대로 작성을 해줍니다.
3. 서블릿 클래스가 생성되면 위의 작성된 코드와 같이 생성이 되고 불필요한 요소가 많지만 일단 생성된 default값을 가지고 작성을 해보았습니다.
4. 코드를 작성하다보면 PrintWriter에 빨간 불이 들어 오게 되는데 이는 클래스 사용을 위한 import가 되지 않은것 이기 때문에 컨트롤+쉬프트+o를 누르면 자동으로 임포트 구문이 생김을 알 수 있습니다.
5. 이후 Ctrl + f11을 누르면 작성한 서블릿 실행을 하게 되면 결과를 얻을 수 있습니ㅏㄷ.
6. 결과

여기서 알아야 할 몇가지 가 있다면
16번째 줄 HttpServlet에는 웹 어플을 작동하는 기본 동작 요청에 대한 응답이 가능하도록 기술 되어있기 때문에 상속을 받아야 함을 알수 있습니다.
다음 시간에는 get방식과 post방식이 무엇이며 차이점을 무엇인지 자세히 알아보겠습니다.
