Jetty

[Jetty] 간단한 Web Server 만들기

SDeveloper 2021. 6. 26. 13:51
반응형

 

127.0.0.1:8080 으로 접속 가능한 Web Server 띄우기

 

 

Web Server를 띄우기 위해서, Server가 될 main class와 servlet이 될 class를 생성해보자.

 

1. MyServer class 생성

 (1) 127.0.0.1:8080으로 접속 가능한 ServerConnector를 생성한다.

 (2) request가 전달되면, 요청에 대한 응답을 처리할 Servlet을 정의해 둔다.

* 서블릿 핸들러는 Request가 들어오면, path와 매핑된 서블릿에 클래스에 Request를 전달하고 응답 content를 생성한다.

 

package itji.example.jetty.server;

import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.ServerConnector;
import org.eclipse.jetty.servlet.ServletHandler;

public class MyServer {

	public static void main(String[] args) throws Exception {
		new MyServer().start();
	}

	private void start() throws Exception{
    	// 1. Web Server, Server Connector 생성
		Server server = new Server();
		ServerConnector httpConector = new ServerConnector(server);
		httpConector.setHost("127.0.0.1");
		httpConector.setPort(8080);
		server.addConnector(httpConector);
		
        // 2. Servlet Handler 매핑
		ServletHandler servletHandler = new ServletHandler();
		servletHandler.addServletWithMapping(MyServlet.class, "/");
		server.setHandler(servletHandler);
		
        // 3. Web Server start
		server.start();
		server.join();
		
	}
	
}

 

 

2. MyServlet class 생성

 (1) http status code를 200으로 리턴한다.

 (2) Content에 "Welcome to my server.")를 작성한다.

package itji.example.jetty.server;

import java.io.IOException;

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


public class MyServlet extends HttpServlet {
	
	private static final long serialVersionUID = 1L;
	
	protected void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException {
		res.setStatus(200);
		res.getWriter().write("Welcome to my server.");
	}
}

 

 

3. MyServer를 기동한다.

Run As > Java Application

 

 

4. http://127.0.0.1:8080/에 접속해본다.

 

접속이 되는 것을 확인할 수 있고,

content 또한 확인이 가능하다.

반응형

'Jetty' 카테고리의 다른 글

[Jetty] 간단한 Web Client 만들기  (0) 2021.06.26
[Jetty] Eclipse에서 Jetty library 적용하기  (0) 2021.06.26