转载地址:http://blog.csdn.net/kongxx/article/details/7218787
在嵌入运行Jetty的时候,有时候想要启动两个端口,或者通过一个Jetty server提供多个不同服务,比如说使用8080来指定默认访问端口,使用8433指定https访问端口等等,此时就可以通过创建多个Connector来解决。
1. 首先创建一个Server类,其中创建了两个Connector实例,一个绑定到了8080端口,另一个绑定到了9090端口:
package com.google.code.garbagecan.jettystudy.sample2;
import org.eclipse.jetty.server.Connector;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.nio.SelectChannelConnector;
public class MyServer {
public static void main(String[] args) throws Exception {
Server server = new Server();
SelectChannelConnector connector1 = new SelectChannelConnector();
connector1.setPort(8080);
SelectChannelConnector connector2 = new SelectChannelConnector();
connector2.setPort(9090);
server.setConnectors(new Connector[] { connector1, connector2 });
server.setHandler(new HelloHandler());
server.start();
server.join();
}
}
2. 创建一个Handler类,用了处理所有客户端的请求
package com.google.code.garbagecan.jettystudy.sample2;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.eclipse.jetty.server.Request;
import org.eclipse.jetty.server.handler.AbstractHandler;
public class HelloHandler 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>");
response.getWriter().println("<li>Request url: " + target + "</li>");
response.getWriter().println("<li>Server port: " + request.getServerPort() + "</li>");
}
}
3. 运行MyServer类,通过浏览器分别访问http://localhost:8080/和http://localhost:9090/。
分享到:
相关推荐
这对于理解Jetty如何运行非常有帮助。 5. **性能优化** Jetty的源码揭示了其性能优化策略,比如使用NIO进行高并发处理,以及对线程池的精细管理。通过研究源码,开发者可以了解如何调整参数以提高性能。 6. **...
对于需要在多个端口上提供服务的情况,Jetty提供了`ServerConnector`接口。你可以创建多个`ServerConnector`实例,分别绑定到不同的端口,实现同一服务器同时监听多个端口的功能。 6. **连接器与协议**: Jetty...
作为一款嵌入式服务器,Jetty可以直接在应用程序中运行,无需单独的Web服务器进程,这使得它在分布式系统、微服务架构以及需要高度定制化的场景下尤为受欢迎。 在使用Jetty作为嵌入式HTTP服务器时,我们首先需要...
这个“jetty嵌入式服务.rar”文件很可能包含了关于如何在Java应用中集成和使用Jetty的相关资料。 在Java世界里,嵌入式服务器如Jetty提供了一种方便的方式来部署和运行Web应用程序,特别是对于那些希望快速启动、低...
由于其嵌入式特性和高效性能,Jetty常被用于开发快速原型、微服务和云应用。在Java社区中,Jetty因其小巧、易于集成和高度可定制的特点而受到广泛欢迎。 【搭建Jetty环境】 要搭建一个简单的Jetty环境,首先需要...
虽然两者都是Servlet容器,但Jetty通常被认为更轻量、更快,适合嵌入式场景,而Tomcat在企业级应用中更为常见,有更广泛的应用和更多的第三方插件支持。 5. **配置和使用**: - **下载和安装**:可以从官方网站...
只需在pom.xml中添加相关配置,然后运行`mvn jetty:run`命令,即可启动一个包含当前项目的Jetty服务器。 三、Jetty的WebSocket支持 Jetty不仅支持传统的HTTP,还提供了对WebSocket的强大支持。通过WebSocket...
- **动态热部署**:如何在运行时更新应用而无需重启Jetty。 - **Servlet2.5新特性**:讨论Jetty对Servlet 2.5规范的支持。 6. **Handler详解**:涵盖不同类型的Handler,如Request Handler、Session Handler等,...
4. **嵌入式Jetty**:阐述如何将Jetty直接嵌入到应用程序中,实现更灵活的部署方式。 5. **故障排查与日志**:介绍如何配置和使用Jetty的日志系统,以及常见问题的解决方法。 通过上述内容的学习,你将能够熟练地...
在"Java_嵌入式Jetty WebSocket示例.zip"这个压缩包中,我们有两个主要的文件:说明.txt和embedded-jetty-websocket-examples_repo-moved.zip。`说明.txt`文件通常会包含有关示例的详细指导,如如何运行和理解代码。...
Handler是Jetty中的核心组件之一,它负责处理来自Connector的请求,并生成响应返回给客户端。Handler可以通过组合的方式来实现复杂的功能,例如静态文件服务、动态内容生成等。 **3.4 Server和ThreadPool** - **...
以下是一个基本的嵌入式Jetty服务器启动示例: ```java import org.mortbay.jetty.Server; import org.mortbay.jetty.nio.SelectChannelConnector; import org.mortbay.jetty.webapp.WebAppContext; public class ...
Jetty 指南书是一本专注于Jetty web容器的详细教程,主要涵盖了Jetty的基础知识、安装配置、架构解析、服务配置、Web应用程序部署、Handler详解、类加载器、Connector配置、虚拟主机、服务器管理和性能优化等多个...
在这篇内容中,我们将深入探讨Jetty 8的嵌入式使用方法以及如何结合Jsoup进行Web测试。 1. **Jetty 8嵌入式Web服务器** - **嵌入式概念**:与传统的独立运行的Web服务器不同,嵌入式Web服务器是直接在应用程序代码...
`jetty.xml`是Jetty的核心配置文件之一,它定义了Server的基本配置,包括Connectors、Handlers等组件的设置。 **4.2 Jetty xmlConfiguration语法** Jetty支持XML格式的配置文件,通过特定的XML元素和属性来描述...
`embedded`可能指的是将Jetty作为一个嵌入式服务器在你的应用中启动,而不是作为独立进程。`ManyConnectors`可能表示在同一个服务器实例上配置多个连接器,以便同时提供HTTP和HTTPS服务。 **7. 运行与测试** 通过...
Jetty 9.4.x系列是Jetty项目的一个稳定分支,提供了对Servlet 3.1规范的支持,这意味着它可以运行基于Java Servlet API开发的现代Web应用。此版本特别强调了在Java开发环境中以“main”方式启动Jetty服务器的能力,...
- **应用场景**: 嵌入式Jetty的应用场景和技术优势。 #### 十六、JEE服务器整合 - **整合Spring**: 如何将Jetty与Spring框架整合。 - **其他JEE技术**: 如何与其他JEE技术栈集成。 #### 十七、在开发环境中使用...
- Jetty 项目始于1995年,历经多个版本迭代,目前已有多个稳定版本,如Jetty 6、7、8、9和10。 - Jetty 社区活跃,持续更新,为Java EE标准提供支持。 4. **Jetty vs Tomcat** - Jetty 通常被认为比Tomcat更快、...
1. **初始化流程**: i_jetty的启动过程涉及服务器实例化、配置设置、连接器添加以及处理器注册等多个步骤,这些都在源码的初始化函数中体现。 2. **请求处理链路**: 从Connector接收请求到Handler处理,再到Servlet...