Java 无法使Jetty HelloWorld示例正常工作
编辑:这个问题可能是我正在使用的javax.servlet版本的问题。我从网站上得到了2.5版本,但它不起作用,尽管使用了我从教授发布的演示项目中得到的不同版本,它似乎起作用了。但不确定它到底是哪个版本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
使用下面的代码,我似乎一事无成,我不知道为什么
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 });