자바 서블릿 (Java Servlet)
자바로 작성된 웹 프로그램을 의미한다.
자바 서블릿 클래스에서는 HTML, JavaScript 코드를 포함할 수 있고,
웹 브라우저로 실행 결과를 출력할 수 있다.
Model2를 본격적으로 공부하기에 앞서 새로운 Dynamic Web Project를 하나 생성했다.
프로젝트의 이름은 jsppro
쭉 넘기다가 마지막 단계에서 web.xml 문서 생성에 체크를 하고 Finish를 누른다
서블릿 클래스는 확장자가 .java 이다.
때문에 src 폴더 하위에 생성 해야 문서가 제대로 작동한다.
최초의 자바 서블릿 클래스를 생성해본다.
javax.servlet.http.HttpServlet 에서 상속을 받게 된다.
Description은 선택사항이라 적어도, 적지 않아도 상관없다.
생성자 생성 여부, 메소드 오버라이딩 여부를 선택할 수 있다.
이 과정을 거쳐 만든 첫 서블릿 클래스
클라이언트가 post를 요청하면 doPost가 실행되고, doGet 메소드를 요청하면 doGet이 실행된다.
기본 전송 방식은 get 방식이고, 그렇기 때문에 이 파일을 실행하면 doGet 메소드 안에 있는 내용만 나타난다.
do Get 메소드 안의 request.getContextPath() 메소드가 동작하여 현재 프로젝트 명이 출력된다.
doGet 메소드 안의 내용을 바꿔보았다.
자바 서블릿 클래스에는 내장객체가 없다.
doGet과 doPost 메소드의 매개변수가 request, response로 되어 있는데, 이 두 가지를 사용 가능하다.
request가 들어오면 요청을 파악한 뒤 클라이언트에게 response 한다.
서블릿은 java에서 쓰이기 때문에 html 코드가 없다.
이 문제를 해결하기 위해 자바에서 PrintWriter 스트림 객체를 생성하여 HTML 태그를 사용한다.
PrintWriter out = response.getWriter(); 가 그것인데,
이름은 out이 아닌 다른 것으로 지정해도 상관없다.
앞으로 자주 쓰일 객체
PrintWriter out = response.getWriter(); // 출력 스트림 객체
HttpSession session = request.getSession(); // 세션 객체