`
comicme_yanghe
  • 浏览: 8614 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

Nano Framework之增加Jetty内嵌支持

    博客分类:
  • Java
阅读更多
本文基于前一篇文章为基础进行改进,需要了解前篇内容的请访问这里

1、pom.xml中添加nano-server依赖
1.1、依赖
<dependency>
    <groupId>org.nanoframework</groupId>
    <artifactId>nano-server</artifactId>
    <version>1.2.0-RC1</version>
    <exclusions>
        <exclusion>
            <groupId>org.glassfish.web</groupId>
            <artifactId>javax.el</artifactId>
        </exclusion>
        <exclusion>
            <groupId>org.glassfish.web</groupId>
            <artifactId>javax.servlet.jsp</artifactId>
        </exclusion>
        <exclusion>
            <groupId>org.eclipse.jetty.orbit</groupId>
            <artifactId>javax.servlet</artifactId>
        </exclusion>
    </exclusions>
</dependency>
<dependency>
    <groupId>org.glassfish.web</groupId>
    <artifactId>javax.el</artifactId>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>org.glassfish.web</groupId>
    <artifactId>javax.servlet.jsp</artifactId>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>javax.servlet.jsp</groupId>
    <artifactId>javax.servlet.jsp-api</artifactId>
    <scope>provided</scope>
</dependency>


1.2、resources
<build>
...
<resources>
...
    <resource>
        <directory>src/main/webapp</directory>
        <targetPath>${project.basedir}/webRoot/</targetPath>
    </resource>
...
</resources>
...
</build>


2、在WEB-INF下添加jetty.xml和webdefault.xml
2.1、jetty.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">

<Configure id="Server" class="org.eclipse.jetty.server.Server">
    <Set name="ThreadPool">
        <!-- Default queued blocking threadpool -->
        <New class="org.eclipse.jetty.util.thread.QueuedThreadPool">
            <Set name="minThreads">5</Set>
            <Set name="maxThreads">200</Set>
            <Set name="detailedDump">false</Set>
        </New>
    </Set>

    <Call name="addConnector">
        <Arg>
            <New class="org.eclipse.jetty.server.nio.SelectChannelConnector">
                <Set name="host">
                    <Property name="jetty.host" />
                </Set>
                <Set name="port">
                    <Property name="jetty.port" default="8081" />
                </Set>
                <Set name="maxIdleTime">300000</Set>
                <Set name="Acceptors">2</Set>
                <Set name="statsOn">false</Set>
                <Set name="confidentialPort">8443</Set>
                <Set name="lowResourcesConnections">20000</Set>
                <Set name="lowResourcesMaxIdleTime">5000</Set>
            </New>
        </Arg>
    </Call>
</Configure>


2.2、webdefault.xml
因篇幅过长不在这里列出,请访问原文中的2.2配置

3、在org.nanoframework.examples.first.webapp下添加启动器
import org.nanoframework.server.JettyCustomServer;

public class Startup {
    public static void main(String[] args) {
        JettyCustomServer server = JettyCustomServer.DEFAULT;
        new Thread(() -> { server.startServer(); }).start();
    }
}


4、至此集成内嵌Jetty完成,运行Startup并访问http://ip:port/first-webapp/first/hello
0
3
分享到:
评论

相关推荐

    jetty内嵌到java代码启动

    让我们深入探讨如何将Jetty内嵌到Java代码中,以及这一过程涉及的关键知识点。 1. **Jetty简介** - Jetty是一个开源的HTTP服务器和Servlet容器,支持最新的Servlet规范,如Servlet 4.0。 - 它以其轻量级、模块化...

    jetty内嵌实现

    在"jetty内嵌实现"的场景下,我们可以直接将Jetty集成到我们的Java应用中,避免了传统方式下需要将应用部署到独立的Web服务器(如Tomcat)的步骤。这种方式尤其适用于测试、开发环境,甚至小型生产环境,因为它简化...

    Jetty内嵌服务器实例

    内嵌Jetty意味着将Jetty服务器直接集成到你的Java应用中,而不是作为一个独立的服务来运行。这种方式提供了更高的灵活性和控制权,特别适合于快速迭代的开发环境或者需要自定义服务器配置的情况。 在“Jetty内嵌...

    使用jetty内嵌方式发布jsf的demo

    由于以前写了个jetty内嵌的服务器,需要在其上面添加JSF的东西 试了好久,终于调通了,拿出来给大家分享一下 本demo是使用jetty内嵌的方式发布的jsf的demo 整个demo是工程整个打包,包含所有的jar包,包括使用的...

    自己构建微服务(springmvc+内嵌jetty+maven 环境配置)

    标题 "自己构建微服务(springmvc+内嵌jetty+maven 环境配置)" 提供了关于如何在Java环境中创建微服务的信息。这通常涉及使用Spring MVC作为控制器层,内嵌Jetty作为Web服务器,以及Maven作为项目管理工具。下面将...

    Jetty配置支持https

    ### Jetty配置支持HTTPS及受信网站证书生成详解 #### 一、概述 在现代Web应用开发中,HTTPS协议已经成为标配。它不仅提供了安全的数据传输通道,还增强了用户对网站的信任度。对于使用Jetty服务器的项目来说,配置...

    JAVA里使用Jetty作为轻量级嵌入式的Web容器

    - **WebSocket支持**:Jetty是最早支持WebSocket标准的服务器之一,提供了完善的WebSocket API。 - **模块化设计**:Jetty组件之间解耦,可以根据需求选择加载必要的模块,降低了运行时的内存开销。 3. **使用...

    spring boot内置jetty

    Spring Boot 默认会选择一个合适的嵌入式服务器,而 Jetty 就是其中之一。配置文件(如 `application.properties` 或 `application.yml`)中可以设置 `server.embedded.jetty.*` 属性来定制 Jetty 的行为,例如端口...

    jetty8+ 内嵌式启动运行demo

    本教程将深入探讨如何使用Jetty 8进行内嵌式启动运行,这对于开发和测试环境非常有用,因为它简化了部署流程。 首先,我们来理解什么是内嵌式Web服务器。内嵌式Web服务器是将Web服务器功能直接整合到你的应用程序...

    jetty嵌入式实例

    在Java开发中,Jetty以其简单易用和灵活性著称,使得开发者能够快速地搭建和配置HTTP服务器,处理HTTP请求,支持WebSocket等现代Web技术。 在"jetty实例"中,我们将探讨如何使用Jetty来接收JSON数据,并从中提取...

    jetty 适合jdk1.8用的服务器

    Jetty是一款开源、轻量级的Web服务器和Servlet容器,被广泛用于开发、测试和部署Java Web应用程序。相较于Apache Tomcat,Jetty以其简洁...其模块化设计和对最新协议的支持,使得Jetty在现代Web开发中具有很高的价值。

    在嵌入式jetty环境下运行struts2Annotation项目

    在嵌入式Jetty环境下运行Struts2 Annotation项目是一个常见的任务,特别是在开发和测试阶段,因为这种方式能够快速启动服务,而无需依赖大型服务器容器。本文将深入探讨如何配置和执行这个过程,以及涉及的关键技术...

    jetty各个版本下载

    Jetty 7引入了对Java Servlet 3.0规范的支持,提高了并发处理能力,并且增强了对WebSocket的支持。 2. **Jetty版本选择** 在选择Jetty版本时,开发者通常会考虑兼容性、稳定性和所需功能。例如,如果你的项目依赖...

    应用程序内嵌Jetty HTTP服务

    代码纯原创,通过本demo,可以轻松实现在应用程序中,利用Jetty去监听某个HTTP请求端口或者服务。 例如让本地应用程序不依赖于任何的Server,就能提供本地化的请求服务localhost:8080/omi/event.

    jetty-all.jar

    Jetty-all.jar是一个集合了众多Jetty组件...各个子文件如jetty-server、jetty-io和jetty-webapp等分别负责Jetty的核心功能、网络I/O和Web应用支持。通过理解和使用这些组件,开发者可以构建高性能的Web服务和应用程序。

    jetty 8及依赖包

    在Jetty 8中,Servlet容器是其核心功能之一,它负责管理和调度Servlet实例。Servlet是一种Java API,用于生成动态Web内容。在Jetty中,Servlet容器负责解析HTTP请求,将请求路由到对应的Servlet,并将Servlet的响应...

    jetty-6.1.26.zip

    4. **嵌入式使用**:Jetty的一个独特之处在于它的嵌入式特性,可以直接在应用代码中启动和管理服务器,无需单独的服务器进程。这对于快速开发和调试非常方便。 5. **模块化设计**:Jetty的模块化设计允许用户根据...

    Jetty中文手册

    内嵌Jetty的HelloWorld教程 内嵌Jetty视频 优化Jetty 如何配置垃圾收集 如何配置以支持高负载 在Jetty中部署应用 部署管理器 部署绑定 热部署 Context提供者 如何部署web应用 webApp提供者 如何部署第三方产品 部署...

    jetty所需jar包

    4. **jetty-servlets.jar**:除了基本的Servlet支持,Jetty还提供了一些预定义的Servlet实现,比如静态资源服务、WebSocket支持等。 5. **jetty-security.jar**:用于处理安全性和认证,包含Jaas登录服务、...

    jetty相关的全部jar包

    jetty-security-9.4.8.v20171121.jar,jetty-io-9.4.8.v20171121.jar,jetty-continuation-9.4.8.v20171121.jar,jetty-client-9.4.8.v20171121.jar,jetty-jmx-9.4.8.v20171121.jar,jetty-plus-9.4.8.v20171121....

Global site tag (gtag.js) - Google Analytics