(1) 저번 주에 학습했듯이 WAS는 동적인 컨텐츠를 제공하기 위해 만들어진 Application Server이고, Servlet과 JSP 구동 환경을 제공한다. 그렇다면 Servlet과 JSP란 무엇일까? 우선 Servlet에 대해 알아보자.
(2) Servlet이란 Dynamic Web Page를 만들 때 사용되는 자바 기반의 웹 애플리케이션 프로그래밍 기술이다. 웹을 만들때는 다양한 요청(Request)과 응답(Response)이 있기 마련이고 이 요청과 응답에는 규칙이 존재한다. 이러한 요청과 응답을 일일이 처리하려면 굉장히 힘들기 때문에 Servlet은 이러한 웹 요청과 응답의 흐름을 간단한 메서드 호출만으로 체계적으로 다룰 수 있게 해주는 기술이다.
[출처] - https://coding-factory.tistory.com/742
[Web] 서블릿(Servlet)이란 무엇인가? 서블릿 총정리
서블릿(Servlet)이란? 서블릿이란 Dynamic Web Page를 만들 때 사용되는 자바 기반의 웹 애플리케이션 프로그래밍 기술입니다. 웹을 만들때는 다양한 요청(Request)과 응답(Response)이 있기 마련이고 이 요
coding-factory.tistory.com
(3) Servlet 기본 구조
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
public class myServlet extends HttpServlet {
public void service(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException {
...
}
}
doGet, doPost에 대해서는 추후 학습하고자 한다.
service 메소드의 역할은 일반적인 .java의 main 메소드 역할과 유사하며, "HttpServletRequest, HttpServletResponse는 Servlet의 입력도구 및 출력도구의 역할을 한다" 정도로만 이해하고 있자. (추후 Http 프로토콜에 대해 더 학습하기)
(4) Servlet 구동 원리
(이클립스 등의 IDE를 활용하지 않는다고 가정, Servlet 클래스 파일명이 myServlet.class 라고 가정)
→ tomcat 디렉토리 / webapps / ROOT / WEB-INF 하위에 classes 라는 파일을 만든다.
→ classes 파일에 myServlet.class 를 둔다.
→ servlet class 파일은 절대 사용자에게 직접적으로 요청-반환 되어서는 안 된다.
→ 그러므로 "서블릿 매핑" 을 해야 한다.
(5) Servlet 매핑
→ tomcat 디렉토리 / webapps / ROOT / WEB-INF 에 web.xml 을 편집해야 한다.
<servlet>
<servlet-name>myservlet</servlet-name>
<servlet-class>myServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>myservlet</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
<servlet-name> 은 개발자가 지정한 servlet 이름으로 아무거나 입력해도 되나, 단 <servlet> 과 <servlet-mapping> 에서 동일해야 한다.
<servlet-class> 는 매핑하고자 하는 servlet 클래스로, package까지 모두 작성해야 한다.
<url-pattern> 은 매핑할 url을 의미한다.
해당 방법 이외에도 어노테이션을 활용하여 매핑하는 방법이 있는데, 이는 다음에 학습할 예정이다.
cf)
1) eclipse에서 웹 개발을 하기 위해서는 eclipse EE 를 추가적으로 설치해야 한다.
2) eclipse 창 초기화 및 정리 : window → perspective → reset perspective
3) eclipse 편집창이 열리지 않을 때 : window → new window → 새로 열린 창에서 작업하기
4) eclipse의 Dynamic Web Project에서 ROOT는 src/main/webapp이며 Context 설정하려면
'해당 프로젝트 폴더 → properties → web project settings → Context root 변경'
'나에 대한 기록' 카테고리의 다른 글
[독서 기록] 스프링5 프로그래밍 입문 - 최범균 저 (5) | 2023.01.29 |
---|---|
[기록] 1월 둘째 주 질문 정리 (1) | 2023.01.16 |
[기록] 매일 코딩하기 - 11월 셋째 주 (Servlet 출력-입력 형식, 서블릿 필터, 입력 데이터 배열로 받기) (1) | 2022.11.14 |
[기록] 매일 코딩하기 - 11월 첫째 주(웹 기초, tomcat) (1) | 2022.11.07 |
[기록] 매일 코딩하기 - 10월 말 (1) | 2022.10.30 |