jetty를 embed해서 사용하는 방법에 대해서 쉽게 따라해 볼 수 있는 페이지이다.
링크 : http://wiki.eclipse.org/Jetty/Tutorial/Jetty_HelloWorld
따라해보기위해서는 물론 java가 설치되어있어야한다.
jetty 라이브러리를 다운로드하는 방법이다. 여기서는 jetty의 모든 class가 들어있는 jar를 다운로드한다.
mkdir Demo cd Demo JETTY_VERSION=7.0.2.v20100331 wget -U none http://repo1.maven.org/maven2/org/eclipse/jetty/aggregate/jetty-all/$JETTY_VERSION/jetty-all-$JETTY_VERSION.jar wget -U none http://repo1.maven.org/maven2/javax/servlet/servlet-api/2.5/servlet-api-2.5.jar
라이브러리를 다운로드 한 directory에 아래와 같은 java코드를 작성한다.
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.ServletException; import java.io.IOException; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.Request; import org.eclipse.jetty.server.handler.AbstractHandler; public class HelloWorld extends AbstractHandler { public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { response.setContentType("text/html;charset=utf-8"); response.setStatus(HttpServletResponse.SC_OK); baseRequest.setHandled(true); response.getWriter().println("<h1>Hello World</h1>"); } public static void main(String[] args) throws Exception { Server server = new Server(8080); server.setHandler(new HelloWorld()); server.start(); server.join(); } }
아래와 같이 클래스패스에 다운로드 받은 jar를 알려주고 컴파일 한다.
javac -cp servlet-api-2.5.jar:jetty-all-$JETTY_VERSION.jar HelloWorld.java
컴파일된 HelloWorld를 실행하면 서버가 뜬다.
java -cp .:servlet-api-2.5.jar:jetty-all-$JETTY_VERSION.jar HelloWorld
난 20108포트로 띄웠다.
브라우저로 접근한 모습