本例只是以HttpServlet方式实现,更多的方式可以通过http://wiki.eclipse.org/Jetty/Tutorial/Embedding_Jetty查看
注意里面的HttpClient为eclipse的HttpClient,非apache的HttpClient
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.servlet.ServletContextHandler;
import org.eclipse.jetty.servlet.ServletHolder;
import org.eclipse.jetty.util.thread.ExecutorThreadPool;
/**
* 本例为Jetty内嵌Http服务器
*
*/
public class ServletContext {
public static void main(String[] args) throws Exception {
Server server = new Server(8080);
// 设置为线程池,默认是阻塞队列
server.setThreadPool(new ExecutorThreadPool(25, 50, 30000));
ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
context.setContextPath("/benx");
server.setHandler(context);
context.addServlet(new ServletHolder(new HelloServlet("A")), "/A");
context.addServlet(new ServletHolder(new HelloServlet("B")), "/B");
server.start();
server.join();
}
}
class HelloServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
private String greeting = "Hello World";
public HelloServlet() {
}
public HelloServlet(String greeting) {
this.greeting = greeting;
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("收到请求");
response.setContentType("text/html");
response.setStatus(HttpServletResponse.SC_OK);
response.getWriter().println("<h1>" + greeting + "</h1>");
response.getWriter().println("session=" + request.getSession(true).getId());
response.getWriter().flush();
System.out.println("请求处理完成");
}
}
import org.eclipse.jetty.client.ContentExchange;
import org.eclipse.jetty.client.HttpClient;
import org.eclipse.jetty.client.HttpExchange;
import org.eclipse.jetty.util.thread.QueuedThreadPool;
/**
* 异步请求http
* @author jin.xiong
*
*/
public class SynchronousExchange {
public static void main(String[] args) throws Exception {
HttpClient client = new HttpClient();
client.setConnectorType(HttpClient.CONNECTOR_SELECT_CHANNEL);
client.setMaxConnectionsPerAddress(2); // 设置最大并发数
client.setThreadPool(new QueuedThreadPool(2)); // 设置最大线程池
client.setTimeout(30000); // 设置超时时间,超过将调用
client.start();
for (int i = 0; i < 1000; i++) {
ContentExchange exchange = new ContentExchange(true);
exchange.setURL("http://localhost:8080/benx/A");
client.send(exchange);
int exchangeState = exchange.waitForDone();
if (exchangeState == HttpExchange.STATUS_COMPLETED) {
System.out.println("请求完成");
System.out.println(exchange.getResponseContent());
} else if (exchangeState == HttpExchange.STATUS_EXCEPTED) {
System.out.println("请求错误");
} else if (exchangeState == HttpExchange.STATUS_EXPIRED) {
System.out.println("请求超时");
}
System.out.println(exchangeState);
}
System.out.println("end");
client.stop();
}
}
}
分享到:
相关推荐
jetty服务器内嵌实例,运行JettTest后即可访问
jetty容器内嵌到java代码中,通过代码控制启动,方便开发调试
jetty内嵌实现,手动启动 WEB服务,不用发布到服务器上就可以访问。
由于以前写了个jetty内嵌的服务器,需要在其上面添加JSF的东西 试了好久,终于调通了,拿出来给大家分享一下 本demo是使用jetty内嵌的方式发布的jsf的demo 整个demo是工程整个打包,包含所有的jar包,包括使用的...
移动端的服务器 Jetty android 服务器 i-Jetty
赠送jar包:jetty-http-9.4.11.v20180605.jar; 赠送原API文档:jetty-http-9.4.11.v20180605-javadoc.jar; 赠送源代码:jetty-http-9.4.11.v20180605-sources.jar; 赠送Maven依赖信息文件:jetty-...
Android-I-Jetty服务器部署例子代码,第一运行起来I-Jetty服务器以后,一定想要例子测试一下;
这个包里面包含jetty的http包,最新版的(至今)jetty-7.0,里面根本没有http相关的包,我在进行junit in action学习中,有一个实例JettySample及相关jetty的例子,都必须用到.后来网络上费了很大的劲才找到,很不容易!
NULL 博文链接:https://fuaotech.iteye.com/blog/2292707
赠送jar包:jetty-http-9.3.19.v20170502.jar; 赠送原API文档:jetty-http-9.3.19.v20170502-javadoc.jar; 赠送源代码:jetty-http-9.3.19.v20170502-sources.jar; 赠送Maven依赖信息文件:jetty-...
jetty-http-7.4.2.v20110526.jar jetty-http 服务jar包
该资源文件中有jetty服务器安装包,还有eclipse jetty插件,以及配置文档,文档中包含idea的配置和eclipse的配置及跑起web项目的过程。仅供大家下载参考,不知道的可以给我留言。
jetty嵌入式服务器开发所必须的jar包,本人使用jetty版本为6.1.3,jar包总数为9个,来自jetty:commons-el-1.0.jar,jasper-compiler-5.5.15,jasper-compiler-jdt-5.5.15.jar,jasper-runtime-5.5.15.jar,jetty-...
jetty 服务器,解压放到任意文件夹,配置路劲即可,。
jetty 服务器使用
java jetty嵌入式服务器实例大全,包括文件资源、servlet、xml配置服务器、war包、多端口监听等实例。
代码纯原创,通过本demo,可以轻松实现在应用程序中,利用Jetty去监听某个HTTP请求端口或者服务。 例如让本地应用程序不依赖于任何的Server,就能提供本地化的请求服务localhost:8080/omi/event.
赠送jar包:jetty-http-9.4.43.v20210629.jar; 赠送原API文档:jetty-http-9.4.43.v20210629-javadoc.jar; 赠送源代码:jetty-http-9.4.43.v20210629-sources.jar; 赠送Maven依赖信息文件:jetty-...
jetty服务器性能调整过程分析jetty服务器性能调整过程分析jetty服务器性能调整过程分析jetty服务器性能调整过程分析
该资料包含:jetty8.0版本 该资料由明瑞教育黄老师出品