Java 无法使Jetty HelloWorld示例正常工作

Java 无法使Jetty HelloWorld示例正常工作,java,eclipse,embedded-jetty,Java,Eclipse,Embedded Jetty,编辑:这个问题可能是我正在使用的javax.servlet版本的问题。我从网站上得到了2.5版本,但它不起作用,尽管使用了我从教授发布的演示项目中得到的不同版本,它似乎起作用了。但不确定它到底是哪个版本 使用下面的代码,我似乎一事无成,我不知道为什么 import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.ServletEx

编辑:这个问题可能是我正在使用的javax.servlet版本的问题。我从网站上得到了2.5版本,但它不起作用,尽管使用了我从教授发布的演示项目中得到的不同版本,它似乎起作用了。但不确定它到底是哪个版本


使用下面的代码,我似乎一事无成,我不知道为什么

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();
    }
}
当我运行时,我的标准输出上有以下输出:

2014-03-18 00:09:57.825:INFO::main: Logging initialized @89ms
2014-03-18 00:09:57.872:INFO:oejs.Server:main: jetty-9.1.3.v20140225
2014-03-18 00:09:57.913:INFO:oejs.ServerConnector:main: Started ServerConnector@edd9de{HTTP/1.1}{0.0.0.0:8080}
2014-03-18 00:09:57.915:INFO:oejs.Server:main: Started @182ms
但是当我使用任何网络浏览器浏览
http://localhost:8080
,我什么也得不到。我尝试使用putty通过telnet连接到localhost:8080,得到“软件导致连接中止”。我禁用了windows防火墙只是为了确定,我什么都做不到。

试试这样:

Server serverJetty = new Server();

SelectChannelConnector connector = new SelectChannelConnector();
connector.setPort(jettyPort);
connector.setHost(jettyHost);
serverJetty.setConnectors(new Connector[] { connector });

问题似乎与我使用的javax.servlet版本有关。我从链接的网站下载了2.5版,并尝试了教授为本作业提供的另一个版本(不确定是哪个版本),该版本正在运行。

尝试另一个端口number@ray我尝试了8000端口,但没有使用EclipseIDE,它对我很有用。您的lib文件夹中有哪些jar文件?什么是jettyPort和jettyHost?请尝试jettyPort=8080和jettyHost=127.0.0.1类似的书籍,因为我上面粘贴的代码在我的笔记本电脑上工作,所以问题会定位到我的桌面上。我想知道为什么会这样。感谢154号代理,我切换到3.1,helloworld现在开始为我工作
Server serverJetty = new Server();

SelectChannelConnector connector = new SelectChannelConnector();
connector.setPort(jettyPort);
connector.setHost(jettyHost);
serverJetty.setConnectors(new Connector[] { connector });