들어가기 전에
현재 프로젝트에서 웹을 개발할 때 서블릿을 직접 써서 개발하지는 않습니다.
조금 더 편하게 사용할 수 있게 도와주는 다양한 프레임워크를 사용해서 개발하는 경우가 더 많습니다.
하지만, 그 프레임워크들도 서블릿이 없이는 동작할 수 없기 때문에 서블릿의 기본적인 작성법이나, 서블릿의
라이프 사이클을 이해하고 있다면 웹의 동작을 이해하는 데 많은 도움이 됩니다.
학습 목표
- 서블릿을 작성할 수 있습니다.
- 서블릿 버전에 따른 web.xml을 적절하게 작성할 수 있습니다.
핵심 개념
학습하기
실습코드
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
<display-name>exam25</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<servlet>
<description></description>
<display-name>TenServlet</display-name>
<servlet-name>TenServlet</servlet-name>
<servlet-class>exam.TenServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>TenServlet</servlet-name>
<url-pattern>/ttt</url-pattern>
</servlet-mapping>
</web-app>
생각해보기
- HelloServlet 클래스 파일을 작성할 때 HttpServlet을 상속하지 않았다면 어떻게 동작할까요?
comment
24.03.29.
1. HelloServlet 클래스 파일을 작성할 때 HttpServlet을 상속하지 않았다면 어떻게 동작할까요?
servlet을 상속하지 않았기때문에 일단 서버에서 servlet파일로 인식하지 못한다. 그러므로 web.xml파일로부터 servlet 파일을 찾아내지 못해 404에러가 뜬다.
HttpServletRequest,HttpServletResponse등의 클래스 함수들을 사용하지 못해서 프로토콜 통신이 불가능해진다.
2022.08.03
HttpServlet에서 제공하는 메서드 사용불가 => 직접 구현하여 사용해야 한다
2022.03.10
서블릿은 웹 어플리케이션에서 동작하는 자바 클래스인데 httpservlet을 상속받지 못하면 프로그래밍이 되지 않은 정적인 페이지밖에 구현할 수 없지 않을까?
220126
20220107
22.1.6
21.05.12
21.05.07
21.05.05
21.04.26
HttpServlet를 상속하지않는다면 그에관련된 메소드들을 쓸수없기때문에 직접 HelloServlet 클래스에서 HttpServlet과 관련된 내용들을 하나하나 작성해야합니다.
HttpServlet에서 제공하는 메서드를 사용할 수 없기 때문에
직접 구현하여 사용해야 한다
HttpServlet에서 제공하는 요청메소드들을 사용하지 못한다.
버전마다 서블릿 생성은 같아도 등록방법은 다르다.
수강완료
ㅎㅎ 강사님 설명 좋으시네요
HttpServlet을 상속하지 않았다면 HttpServlet이 제공하는 메소드를 사용할 수 없기 때문에 Servlet으로써 기능을 하려면 직접 구현해야한다.
2020-05-08