转自:http://blog.csdn.net/kongxx/article/details/7218787

在嵌入运行Jetty的时候,有时候想要启动两个端口,或者通过一个Jetty server提供多个不同服务,比如说使用8080来指定默认访问端口,使用8433指定https访问端口等等,此时就可以通过创建多个Connector来解决。

1. 首先创建一个Server类,其中创建了两个Connector实例,一个绑定到了8080端口,另一个绑定到了9090端口:

  1. package com.google.code.garbagecan.jettystudy.sample2;
  2. import org.eclipse.jetty.server.Connector;
  3. import org.eclipse.jetty.server.Server;
  4. import org.eclipse.jetty.server.nio.SelectChannelConnector;
  5. public class MyServer {
  6. public static void main(String[] args) throws Exception {
  7. Server server = new Server();
  8. SelectChannelConnector connector1 = new SelectChannelConnector();
  9. connector1.setPort(8080);
  10. SelectChannelConnector connector2 = new SelectChannelConnector();
  11. connector2.setPort(9090);
  12. server.setConnectors(new Connector[] { connector1, connector2 });
  13. server.setHandler(new HelloHandler());
  14. server.start();
  15. server.join();
  16. }
  17. }

2. 创建一个Handler类,用了处理所有客户端的请求

  1. package com.google.code.garbagecan.jettystudy.sample2;
  2. import java.io.IOException;
  3. import javax.servlet.ServletException;
  4. import javax.servlet.http.HttpServletRequest;
  5. import javax.servlet.http.HttpServletResponse;
  6. import org.eclipse.jetty.server.Request;
  7. import org.eclipse.jetty.server.handler.AbstractHandler;
  8. public class HelloHandler extends AbstractHandler {
  9. public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response)
  10. throws IOException, ServletException {
  11. response.setContentType("text/html;charset=utf-8");
  12. response.setStatus(HttpServletResponse.SC_OK);
  13. baseRequest.setHandled(true);
  14. response.getWriter().println("<h1>Hello World</h1>");
  15. response.getWriter().println("<li>Request url: " + target + "</li>");
  16. response.getWriter().println("<li>Server port: " + request.getServerPort() + "</li>");
  17. }
  18. }

3. 运行MyServer类,通过浏览器分别访问http://localhost:8080/和http://localhost:9090/。

jetty之建立多Connector的更多相关文章

  1. Jetty使用教程(四:28-30)—Jetty开发指南

    二十八.延续机制支持 28.1 延续简介 延续是一种机制用来实现类似于Servlet 3.0异步功能的异步Servlet,但提供了一个简单易操作的接口. 28.1.1 为什么使用异步Servlets ...

  2. 嵌入式jetty的HTTP实现

    2    嵌入式jetty的HTTP实现 布拉君君 2.1 简单HTTP实现 2.1.1 HTTP SERVER端实现 2.1.1.1 HTTP SERVER端实现概述 在代码中嵌入一个Jetty s ...

  3. 【转载】利用jetty+Eclipse实现超轻量级web开发

    之前一直使用maven的jetty插件.今天换种方式. 使用下面介绍的方式你只有一个java project就行. 开发环境更简单,debug也更方便,不需要remote debug的方式,jetty ...

  4. spring学习总结(mybatis,事务,测试JUnit4,日志log4j&slf4j,定时任务quartz&spring-task,jetty,Restful-jersey等)

    在实战中学习,模仿博客园的部分功能.包括用户的注册,登陆:发表新随笔,阅读随笔:发表评论,以及定时任务等.Entity层设计3张表,分别为user表(用户),essay表(随笔)以及comment表( ...

  5. jetty属性

    jetty 版本信息      Jetty7 - 此插件更名为jetty-maven-plugin,以便更符合maven2的协定.为了在Web应用做快速应用开发做准备,详见多Web应用源目录.   为 ...

  6. Jetty启动配置解析

    目录 1. jetty概述 2. spring-jetty启动配置 1. jetty概述 维基百科:Jetty是一个纯粹的基于Java的网页服务器和Java Servlet容器. Jetty Serv ...

  7. 测试--jmeter的使用

    jmeter用于压力测试 首先我们要区别压力和攻击,当设立了不适当的线程数量和准备时长,就容易造成攻击. 线程数:虚拟用户数.一个虚拟用户占用一个进程或线程.设置多少虚拟用户数在这里也就是设置多少个线 ...

  8. Java并发编程原理与实战四十五:问题定位总结

    背景   “线下没问题的”. “代码不可能有问题 是系统原因”.“能在线上远程debug么”    线上问题不同于开发期间的bug,与运行时环境.压力.并发情况.具体的业务相关.对于线上的问题利用线上 ...

  9. Mina入门demo

    初识Mina,简要记录理解内容和实现demo. 这里先简述一下BIO和NIO的区别: 同步阻塞IO(BIO):一个连接一个线程,客户端有连接请求时服务器端就需要启动一个线程进行处理,如果这个连接不做任 ...

随机推荐

  1. session阻塞机制,解决方法

    session从生成到读取,或从生成到写入都出现锁定的情况. 1.session_start();session_commit(); 2.session_start();session_write_c ...

  2. Servlet和Tomcat部署

    今天有空写个Servlet来玩一下.用EditPlus写一个简单的Servlet,FirstServlet.java,如下: import java.io.IOException; import ja ...

  3. SQL Join PK ChinaJoy

    P PK  

  4. JDBC 基础知识总结

    1.  何谓JDBC  --- Java Database Connectivity. 由Sun 公司提供的访问数据库的一组java类和接口,用来对数据库进行链接.发送SQL语句.处理返回结果,为开发 ...

  5. ReactEurope Conf 参会感想

    React 带来的革命性创新是前端世界过去几年最激动人心的变化.自从接触 React 以来,我深信 React 会改变客户端开发者(包括前端.iOS 和 Android)的开发体验.这次在巴黎举办的  ...

  6. hdu 1875

    题目很简单,我却WA了几十次,找错误找了我一个小时: 蛋都碎了! 后来发现错误的地方竟然是memset: 用一个循环来替代它就A了:╮(╯▽╰)╭ 今晚回去好好的看看memset!!! 发个代码纪念下 ...

  7. UserMailbox 必须强制使用 Database---Database is mandatory on UserMailbox error

    XX搞了接近一天,终于搞定. 不只是在查看用户邮箱里发现这样的情况,就连在PS里执行GET-MAILBOX之类,都有这个报错. 跟网上所有的解决方法都不一样. 重新了系统邮件都不行,重新了ADMINI ...

  8. Xamarin 开发常见问题

    原文:Xamarin 开发常见问题 Verify the project is selected to be deployed in the Solution Configuration Manage ...

  9. Android JNI使用方法

    经过几天的努力终于搞定了android JNI部分,下面将我的这个小程序和大家分享一下.android JNI是连接android Java部分和C/C++部分的纽带,完整使用JNI需要Java代码和 ...

  10. XP中IIS“HTTP 500 - 内部服务器错误”解决方法

    我先把主要过程叙述一下,叙述完有每个问题的具体操作方法. 今天我在XP上安装IIS,运行网站出现"HTTP 500 - 内部服务器错误". 打开HTML没有问题,打开ASP文件时就 ...