Jetty 嵌入式开发(实例)

我尝试了jetty几个版本,类的使用有些差异,在此记录下jettyVersion = 9.0.2.v20130417 的部分实例

maven 依赖及配置:

<properties>
        <!-- Adapt this to a version found on http://central.maven.org/maven2/org/eclipse/jetty/jetty-maven-plugin/ -->
        <jettyVersion>9.0.2.v20130417</jettyVersion>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>
    <dependencies>

        <!-- jetty 依赖 -->
        <dependency>
            <groupId>org.eclipse.jetty</groupId>
            <artifactId>jetty-server</artifactId>
            <version>${jettyVersion}</version>
        </dependency>

    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>exec-maven-plugin</artifactId>
                <version>1.1</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>java</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <mainClass>org.example.HelloWorld</mainClass>
                </configuration>
            </plugin>
        </plugins>
    </build>

以下是示例代码:

package com.bocom.testjetty.httpserver;

import org.eclipse.jetty.server.Connector;
import org.eclipse.jetty.server.Handler;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.ServerConnector;
import org.eclipse.jetty.server.handler.ContextHandler;
import org.eclipse.jetty.server.handler.HandlerList;

public class httpserver {

    public static void main(String[] arg0) throws Exception{
        server1();
        server2();

    }

    /**
     * 多个连接器实例
     * @throws Exception
     */
    public static void server1() throws Exception{
        Server server = new Server();
        ServerConnector connector1 = new ServerConnector(server);
        connector1.setPort(8082);
        ServerConnector connector2 = new ServerConnector(server);
        connector2.setPort(9001);

         server.setConnectors(new Connector[] { connector1, connector2 });
        server.setHandler(new HelloHandler());

        server.start();
    }

    /**
     * 多个handler实例
     * @throws Exception
     */
    public static void server2() throws Exception {

        Server server = new Server(9080);
        ContextHandler context1 = new ContextHandler();
        context1.setContextPath("/hello");
        context1.setHandler(new HelloHandler());
        ContextHandler context2 = new ContextHandler();
        context2.setContextPath("/content");
        context2.setHandler(new HelloHandler());
        HandlerList handlers = new HandlerList();
        handlers.setHandlers(new Handler[]{context1,context2});
        server.setHandler(handlers);
        server.start();
        server.join();
    }

}
package com.bocom.testjetty.httpserver;

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("<a>你好!</a>");

    }

}

参考资料:

http://www.eclipse.org/jetty/documentation/current/index.html

http://wiki.eclipse.org/Jetty/Tutorial/Embedding_Jetty

http://blog.sina.com.cn/s/articlelist_2664952023_14_1.html

时间: 2024-11-05 13:32:59

Jetty 嵌入式开发(实例)的相关文章

jersery+jetty嵌入式restful的框架开发

随着微服务的流程,越来越多的后台服务采用了restful api风格的开放API,jersery+jetty嵌入式变成了一个很好的选择, 我自己写了一个简单的框架,https://github.com/wangjiuong/RestFrameWork/tree/master/RestFrameWork 目前还不支持集群,正在优化中. 基于该框架可以快速的开发出简单的restful api风格的服务. 最简单的HelolWorld程序.https://github.com/wangjiuong/R

学习嵌入式开发板的Android平台体系结构和源码结构

本文转自迅为论坛资料:http://www.topeetboard.com 推荐学习嵌入式开发板平台:iTOP-4412开发板 下面这张图出自Google官方,展示了Android系统的主要组成部分. 可以看出,Android系统架构由5部 分组成,分别是:Linux Kernel.Android Runtime.Libraries.Application Framework.Applications.其实这部分SDK文档已经帮我们做得很好了,要做的就是拿来主义,然后再加上自己理解.接下来拿起手

嵌入式开发总结---应用篇

实验目录: 其间遇到的问题: 系统崩溃 这种问题是由于当时自己修改了系统内核里面的某个.c文件引起的,然后我自己编译内核,步骤参考赛佰特PDF说明.而且,PDF里面说,烧完内核后,重启恢复到原先的内核,经过我的测试,这句话有问题.我按照PDF说明,重启直接崩溃,一直在reboot,后来就直接乱码了. 这句话有问题: 出现下面的问题是由于我把IP地址设置错了 需要重新设置. 下面的问题就是无缘无故修改内核参数所导致的问题: 重装系统 步骤如上所示,完全按照PDF文档即可.需要说明的是,系统里面本身

嵌入式开发-写在这里作为参照

第一部分:Linux平台搭建与环境熟悉 了解linux系统:区分各种版本的Linux系统,以便于拓展 Linux视野.1.Linux 简介:2.Linux 系统的主要特点:3.Linux 的组成:4.主要的 Linux 版本:5.嵌入式 Linux简介与发展 第二部分虚拟机安装和LINUX系统安装 1.虚拟机安装:2.Linux系统的安装:3.Linux系统的常用软件的安装:4.Linux快速入门5. 熟悉运用 Linux环境下,常用命令的操作与系统设置,如常用的 Shell:掌握基本的 She

嵌入式开发学习笔记 ( java - c/c++ :从入门到入门 )

发现放到Blog之后排版全乱套了.. 已经把PDF上传到资源页了  http://download.csdn.net/detail/lyy289065406/8934637 那边排版好看一点...看官们随意吧 >...< · 目 录 导 航 1. 引言 1.1. 编写目的 1.2. 阅读范围 1.3. 声明 1.4. 缩写词/名词解释 1.5. 参考资料 2. 嵌入式开发学习笔记 2.1. 开发环境/测试环境 2.2. 开坑:提要 2.3. 入坑:JNI 2.3.1. navicate 接口定

想学嵌入式开发怎么学?看这份超详细的嵌入式学习路线

嵌入式学习是一个循序渐进的过程,如果是希望向嵌入式软件方向发展的话,目前最常见的是嵌入式Linux方向,关注这个方向,大概分3个阶段: 嵌入式学习的几种线路图 1.嵌入式linux上层应用,包括QT的GUI开发 2.嵌入式linux系统开发 3.嵌入式linux驱动开发 嵌入式目前主要面向的几个操作系统是,LINUX,WINCE.VxWorks等等 Linux是开源免费的,而且其源代码是开放的,更加适合我们学习嵌入式. 你可以尝试以下路线: (1) C语言是所有编程语言中的强者,单片机.DSP.

电子技术经典资料汇总:嵌入式开发12.9G

电子技术经典资料汇总:嵌入式开发12.9G,学完就可以做大牛了,这也是大牛分享出来的资料,嵌入式的各类资料,也希望能够汇集更多想学习嵌入式的朋友一起交流学习,有什么问题可以一起解决:787059199,同时也想给大家推荐一个资料下载和交流的软硬件交流论坛:闯客网技术论坛,上面你想要找什么资料都可以找到,真的很不错,很多东西在那里都能简单的搜索到 资料链接:https://bbs.usoftchina.com/thread-211364-1-1.html 网盘目录:目录太长了,只有一部分电子技术经

Cocos2d-x 3.X手游开发实例详解

Cocos2d-x 3.X手游开发实例详解(最新最简Cocos2d-x手机游戏开发学习方法,以热门游戏2048.卡牌为例,完整再现手游的开发过程,实例丰富,代码完备,Cocos2d-x作者之一林顺和泰然网创始人杨雍力荐) 于浩洋 著   ISBN 978-7-121-23998-4 2014年9月出版 定价:59.00元 356页 16开 编辑推荐 以Cocos2d-x V3.0为框架全面讲解手游开发的知识和方法 以热门游戏2048.卡牌为例,完整再现手游的开发过程 Cocos2d-x作者之一林

嵌入式开发板丨ARM开发板 学习必备资料- 迅为电子

摘要: ARM开发板 迅为三星Exynos嵌入式开发平台超强GPS模块 iTOP-Exynos4412开发板采用 Exynos4412的主芯片,具有更高的主频和更丰富外设,配置 2GB 双通道 DDR3的内存及 16GB 存储,具有稳定性强.可靠性高,能适用于对性能和处理能力有更高要求的嵌入式系统应用场合. iTOP-Exynos4412开发板内置有无线 WIFI 模块.Bluetooth.GPS.Camera.3G等模组,支持 HDMI1.4(1080P/60Hz)显示,客户可以直接从开发平台