Jetty Hello World教程 2


关于如何在命令行下run一个Hello world的jetty程序。

首先下载两个依赖包 http://mvnrepository.com/artifact/javax.servlet/servlet-api/2.5

http://mvnrepository.com/artifact/org.eclipse.jetty.aggregate/jetty-all/7.0.2.v20100331

将它们放在一个文件夹下,然后新建一个HelloWorld.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();
    }
}

完成之后的文件夹是这个样子的^ ^

Untitled

然后进入命令行,把工作路径切到该目录下。(我是用的git命令行)

然后输入编译命令,根据操作系统不同,你的MAC上可能要把分号’;’改成冒号’:’,并且可能不用加引号。

javac -cp 'jetty-all-7.0.2.v20100331.jar;servlet-api-2.5.jar' HelloWorld.java

 

Untitled

编译成功后,文件夹出现HelloWorld.class的字节文件。

然后运行执行命令,(同理,MAC上可能得更改格式,分号变冒号)

java -cp '.;jetty-all-7.0.2.v20100331.jar;servlet-api-2.5.jar' HelloWorld

Untitled

服务器就跑起来了,在浏览器中输入

http://localhost:8080

就会看到程序成功执行的字样。

Untitled

但是这只是一个简单例子,如果工程较大的话,还得用eclipse+maven管理会方便些。

 


Leave a Reply to songbo Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

2 thoughts on “Jetty Hello World教程

  • Xin

    感谢分享!第一篇教程总是很有帮助!这里分享另外一篇,继续介绍了Embedded Jetty的细节http://examples.javacodegeeks.com/enterprise-java/jetty/jetty-tutorial-beginners/

    • songbo Post author

      赞 jetty有好多运行方法 命令行 和maven一起运行等等 好容易就搞晕了 各个教程讲的也不大一样