Jetty实战(2)之嵌入式运行Jetty多Connector

来源:互联网 发布:画框软件 编辑:程序博客网 时间:2024/05/21 07:50
在嵌入运行Jetty的时候,有时候想要启动两个端口,或者通过一个Jetty server提供多个不同服务,比如说使用8080来指定默认访问端口,使用8433指定https访问端口等等,此时就可以通过创建多个Connector来解决。

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

[java] view plain copy
  1. package com.google.code.garbagecan.jettystudy.sample2;  
  2.   
  3. import org.eclipse.jetty.server.Connector;  
  4. import org.eclipse.jetty.server.Server;  
  5. import org.eclipse.jetty.server.nio.SelectChannelConnector;  
  6.   
  7. public class MyServer {  
  8.     public static void main(String[] args) throws Exception {  
  9.         Server server = new Server();  
  10.   
  11.         SelectChannelConnector connector1 = new SelectChannelConnector();  
  12.         connector1.setPort(8080);  
  13.   
  14.         SelectChannelConnector connector2 = new SelectChannelConnector();  
  15.         connector2.setPort(9090);  
  16.   
  17.         server.setConnectors(new Connector[] { connector1, connector2 });  
  18.   
  19.         server.setHandler(new HelloHandler());  
  20.   
  21.         server.start();  
  22.         server.join();  
  23.     }  
  24. }  
2. 创建一个Handler类,用了处理所有客户端的请求
[java] view plain copy
  1. package com.google.code.garbagecan.jettystudy.sample2;  
  2.   
  3. import java.io.IOException;  
  4.   
  5. import javax.servlet.ServletException;  
  6. import javax.servlet.http.HttpServletRequest;  
  7. import javax.servlet.http.HttpServletResponse;  
  8.   
  9. import org.eclipse.jetty.server.Request;  
  10. import org.eclipse.jetty.server.handler.AbstractHandler;  
  11.   
  12. public class HelloHandler extends AbstractHandler {  
  13.     public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response)  
  14.             throws IOException, ServletException {  
  15.         response.setContentType("text/html;charset=utf-8");  
  16.         response.setStatus(HttpServletResponse.SC_OK);  
  17.         baseRequest.setHandled(true);  
  18.         response.getWriter().println("<h1>Hello World</h1>");  
  19.         response.getWriter().println("<li>Request url: " + target + "</li>");  
  20.         response.getWriter().println("<li>Server port: " + request.getServerPort() + "</li>");  
  21.     }  
  22. }  
3. 运行MyServer类,通过浏览器分别访问http://localhost:8080/和http://localhost:9090/。
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 3岁宝宝脾气不好怎么办 脾气不好吓到宝宝了怎么办 四个月宝宝脾气不好怎么办 5岁说话不清楚该怎么办 小孩快上幼儿园了不怎么说话怎么办 四岁宝宝吐字不清楚怎么办 孕28周胎儿腿短怎么办 b超显示腿短怎么办 2岁多宝宝不愿意说话怎么办 6岁儿童咬字不清怎么办 两岁宝宝爱看电视怎么办 两岁宝宝喜欢看电视怎么办 三岁宝宝说话不清晰怎么办 儿子快四岁了说话不清楚怎么办 儿子快三岁了说话不清楚怎么办 2岁宝宝受刺激了怎么办 一岁的宝宝口臭怎么办 古话说小孩牙齿掉了怎么办 宝宝三岁胆子小怎么办 小宝宝就是不愿意学说话怎么办 2岁宝宝体重偏重怎么办 三岁宝宝体重偏重怎么办 3岁宝宝说话晚怎么办 孩子吃饭总说话吃饭慢怎么办 我的孩子不聪明怎么办 小孩个子长不高怎么办 晚修自己老喜欢讲话怎么办 宝2岁宝脾气大怎么办 宝宝比同龄孩子发育晚怎么办 早教机构业绩不好怎么办 孩子上早教课哭怎么办 两岁宝宝哭闹不止怎么办 7个月宝宝怕生疏怎么办 5个月宝宝怕洗澡怎么办 4个月宝宝认人怎么办 2岁宝宝语言迟缓怎么办 宝宝老是哭闹不睡觉怎么办 7岁儿童说话晚怎么办 一岁多的婴儿说话晚该怎么办 宝宝甲低300多怎么办 两岁半宝宝还不怎么会讲话怎么办