Web

Server, Servlet이란?

greenyellow-s 2024. 9. 9. 21:24
Server

 

Tomcat

동적인 웹을 만들기 위한 Servlet이나 JSP의 컨테이너

WAS(Web Application Server)

 

웹에서 실행하는 프로그램

Servlet, JSP, PHP, 등등 ...

 


Servlet

 

웹에서 실행하는 프로그램

 

클라이언트에서 DB로 직접 연결하여 사용 할 수 없다.

서버는 클라이언트와 DB를 서로 연결시켜주는 역할을 한다.

 

Servlet은 Java 파일이지만 public static void main(String[] args) 메소드가 없다.

주기함수이며 new로 생성하지 않아도 된다. (Tomcat이 한다.)

 

주기함수(Life Cycle)

 

init() : 맨 처음에 1번만 호출할수 있다.

service() : 클라이언트가 요청할 때마다 호출할 수 있다.

- doGet()

- doPost()

destroy()


Get방식

 

default(기본값)

주소 표시줄를 통해서 데이터가 이동한다.

이동되는 데이터는 사용자에게 보이며

문자열로만 데이터가 처리된다.

 

Post방식

 

클라이언트가 post로 요청시에만 적용한다.

내부적으로 이동하기 때문에 이동되는 데이터가 사용자에게는 보이지 않는다.

따라서 대량 데이터를 이동할때나 보안이 필요한 데이터를 이동할때 적합하다.


Dynamic Web Project에서 Servlet 파일 만들기

 

1. 파일 위치 : Java Resources - src/main/java

2. New - Servlet - Create Servlet

3. 원하는 메소드를 선택 후 Finish를 누른다.

 

** Java 파일 위치는 반드시  Java Resources - src/main/java 에서 생성해야한다.

** main - java파일에 생성하면 안된다!

 


파일 설명

 

1.

@WebServlet("/HelloServlet")
public class HelloServlet extends HttpServlet {
	
}

 

@WebServlet("")

웹 서블릿 선언

 

extends HttpServlet

HttpServlet을 상속 받아야 servlet이 된다.

 

class HelloServlet -> class HttpServlet -> class GenericServlet -> interface Servlet
앞의 부모의 것을 모두 사용할 수 있다.

 

2.

private static final long serialVersionUID = 1L;


객체 직렬화 = 버전의 숫자를 인터넷이랑 맞추기 위한 구문 1L(long 타입이다.)

 

3.

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
	System.out.println("doGet...");
		
	response.setContentType("text/html; charset=UTF-8");
	PrintWriter out = response.getWriter();
	out.println("<html>");
	out.println("<body>");
	out.println("Hello Servlet!!<br>");
	out.println("안녕하세요 서블릿!!");
	out.println("</body>");
	out.println("</html>");
}

 

HttpServletRequest request : 요청
HttpServletResponse response : 응답

 

4.

public void init(ServletConfig config) throws ServletException {
    System.out.println("init...");
}

 

public void init()

호출, callback 함수
웹은 반드시 init이 있어야한다.

 

5.

public void destroy() {
    System.out.println("destroy...");
}

 

 

** Servlet 파일은 반드시 패키지 안에 만들어야한다.

 

 

'Web' 카테고리의 다른 글

Server, Session / Cookie 사용 방법  (0) 2024.09.10
Server, Connection Pool이란?  (0) 2024.09.10
Server, JSP란?  (0) 2024.09.10
Server, Servlet으로 DB에내용 저장/출력하기  (0) 2024.09.10
AJax, AJax란?  (0) 2024.08.27