编辑:看来这个问题可能已经本地化为我使用的javax.servlet版本。我从网站获得了2.5并且它没有工作,虽然使用我从教授发布的演示项目获得的不同版本,它似乎工作。不确定它究竟是哪个版本。
使用https://wiki.eclipse.org/Jetty/Tutorial/Jetty_HelloWorld中的以下代码,我似乎无处可去,我不知道为什么......
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文件,并编译并运行了以下程序:
Q:\Documents\Development\Eclipse\3715a5\src>javac -cp "..\lib\*;." HelloWorld.java
Q:\Documents\Development\Eclipse\3715a5\src>java -cp "..\lib\*;." HelloWorld
运行时,我的标准输出上有以下输出:
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,然后我得到&#34;软件导致连接中止&#34;。为了确定,我已经禁用了我的Windows防火墙,而且我没有到达任何地方。
答案 0 :(得分:1)
问题似乎与我正在使用的javax.servlet版本有关。我从链接的网站上下载了2.5版本,并且自从我的教授为这项任务尝试了一个不同的版本(不确定哪一个),它正在运行。
答案 1 :(得分:0)
试试这样:
Server serverJetty = new Server();
SelectChannelConnector connector = new SelectChannelConnector();
connector.setPort(jettyPort);
connector.setHost(jettyHost);
serverJetty.setConnectors(new Connector[] { connector });