본문 바로가기
IT관련/메모

서블릿의 상속 HttpServlet

by XoX 2020. 6. 30.
728x90
개인적인 메모를 위해 작성된 글이므로 가벼운 참고용으로 봐주세요.

 

서블릿 상속
1. 서블릿의 기능을 가져오기위해 해당클래스에 HttpServlet을 상속받음.
src/패키지/클래스명.java 경로의 클래스에 'extends HttpServlet'를 추가
 
 
2. HttpServlet클래스의 메서드를 오버라이딩 할 수 있음.
 
 
 

 

3. 매개변수 request(요청을 받아오는 역할)와 response(응답하는 역할)를 활용한다.
 
 
 
response.setContentType은 incording/decording할 때 utf-8기준으로 text반환하란 뜻
*사람이 지각하는 언어로는 네크워크를 이용해 정보를 주고받을 수 없다. 네크워크 선을 따라갈 수 있는 전기신호로 인간의 언어를 incording하여 보내고 변환된 전기신호를 상대방이 받을 때는 다시 decording(해석, 해독)해야한다.
 
 
4. 정리하자면
 
 
 
첫째줄: 클라이언트의 요구(name=홍길동)가 url을 통해 전달돼 String name에 담기고,
셋째줄: 다시 getWrtiter().print(name+"님 안녕하세요")로 response객체에 담아지고,
둘째줄: utf-8기준으로 html로 만들어져서 브라우저를 통해 클라이언트에게 반환됨.
 
 
5. 위와같이 클라이언트의 요청에 응답하기 위해 일하는 일꾼은 Servlet이지만
중간에서 Servlet을 도와주는 역할이 WebContent 하위에 있는 web.xml이다.
 
 
 
사용자가 url을 통해 main을 보여달라는 요청을 했을 때,(여기서는 요청이 hello)
이를 처리할 서블릿이 MainServlet(여기선 HelloServlet)이라면,
web.xml은
(1) 클라이언트의 요청에 대한 정보, 이이를 처리할 서블릿에 대한 정보 이 두가지의의 정보를 보유한 역할
(2) 그리고 이 둘을 맵핑시켜주는 역할을 맡고있다.
 
 
 

 

 

6. 그런데 웹모듈이 3.1로 업데이트 되면서 web.xml의 기능을 @WebServlet()이라는 annotation이 맡게 되어서 개발자가 위와같이 직접 타이핑해주지 않아도 된다. 
 
 
 

 

 
728x90
반응형

댓글