일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- #프로그래머스 #자바 #코딩 #전국대회선발
- dbeaver sqlite
- #신념 #철학 #유쾌함 #후회 #자책
- 코딩 #자바 #조건에맞게수열변환하기2
- #springbatch #springboot #스프링배치 #스프링부트 #배치 #joblauncher #job #step #itemreader #itemprocessor #itemwriter
- #프로그래머스 #코딩 #자바 #문자열여러번뒤집기
- #프로그래머스 #자바 #코딩 #배열만들기2
- springboot #스프링부트
- #프로그래머스
- 컨트롤러테스트코드
- #프로그래머스 #코딩 #자바 #문자열묶기
- #batch #스케줄러 #배치스케줄러
- @autoconfigurationmockmvc
- #프로그래머스 #코딩 #자바 #문자열이몇번등장하는지세기
- #프로그래머스 #자바 #코딩 #무작위로k개의수뽑기
- #프로그래머스 #코딩 #자바 #리스트자르기
- #프로그래머스 #코딩 #자바 #왼쪽오른쪽
- #springbatch #springboot #스프링배치 #스프링부트 #배치 #joblauncher #job #step #batchconfig #배치설정 #chunk
- JPA
- 깃
- 제이피에이
- #프로그래머스 #코딩 #자바 #수열과구간쿼리3
- #프로그래머스 #코딩 #자바 #2의영역
- #프로그래머스 #코딩 #자바 #수열과구간쿼리2
- springboot #sprinigbatch #job #step #스프링부트배치 #스프링배치
- Git
- springboot #@beforeall #@afterall
- springboot #스프링투브
- springboot #스프링부트 #junit #제이유닛 #라이프사이클 #@beforeall #@beforeeach #@afterall #@aftereach
- springboot #스프링부트 #junit #junit #제이유닛 #단위테스트코드 #테스트 #test #test
- Today
- Total
David의 블로그
[JSP/Servlet]Servlet 클래스 구현방법, Servlet과 URL 요청 매핑 방법 본문
다양한 웹 프레임워크 출현으로 Servlet 을 직접 개발해야 하는 경우는 흔치 않다고 하지만,
웹 개발자라면 서블릿이 무엇이고 Servlet의 동작 방식을 이해하는 것은 필수라고 생각했다.
나 역시 정확한 사용방법 모르면서 느낌으로만 코딩을 했었다.
이 참에 직접 구현하고 정리하면서 많이 알게된 것 같다.
프로젝트는 eclipse로 Dynamic web project로 구현했다.
프로젝트 구성은 다음과 같고
context root는 servlet_practice로 설정했다.
[Servlet 클래스 구현]
Servlet 클래스를 구현하기 위해서 HttpServlet 클래스를 상속받아야 한다.
상속받았다면, 처리하고자 하는 HTTP 방식에 따른 알맞은 메소드를 정의한다.
나는 doGet()로 정의했다.
doGet() 메소드는 HttpServletRequest, HttpServletResponse 두 파라미터를 갖는데,
이는 JSP의 Reqeust, Response 기본객체에 해당한다고 볼 수 있다.
그리고 JSP대신에 PrintWriter의 out을 이용하여
HTML 뷰로 구성했다.
[Servlet URL 매핑]
Servlet 클래스를 만들었다면, 이제 [프로젝트]/webapps/WEB-INF안에 있는 web.xml에 설정을 한다.
<servlet> 태그는 만들어놓은 servlet 클래스를 등록하는 역할을 한다.
이 태그안에 <servlet-name>과 <servlet-class>를 작성하는데
<servlet-name>은 servlet을 참조할 때 쓸 이름을
<servlet-class>는 servlet으로 사용할 클래스의 완전한 이름을 지정합니다.
<servlet-class>는 프로젝트 패키지 경로로 지정해주면 되는 것 같다. (/) X -> (.) O
<servlet-mapping> 태그는 servlet이 어떤 URL을 처리할지에 대한 매핑 정보를 등록하는 역할을 한다.
<servlet-name>은 위에서 servlet을 참조할 때 쓸 servlet 이름이고
<url-pattern>은 매핑할 URL 패턴을 지정한다.
<url-pattern>은 1개 이상 등록이 가능하다고 한다.
톰캣을 실행해보면
http://서버:포트/[context root]/servlet으로 접근하면 위와 같은 화면이 뜬다.
'프로그래밍 > Jsp_Servlet' 카테고리의 다른 글
[JSP/Servlet] Custom Error페이지 만들기1 (2) | 2023.12.02 |
---|---|
[JSP/Servlet]Custom Exception 만들어보기 (1) | 2023.11.26 |
[JSP/Servlet]@WebServlet 어노테이션 (1) | 2023.11.06 |
[JSP/Servlet] Export기능으로 .war를 만들어 배포하다. (0) | 2023.11.05 |
[JSP/Servlet]context root, content directory (0) | 2023.11.04 |