`

Jetty8嵌入式开发之HelloWorld

阅读更多

Jetty可以作为嵌入式服务器,让我们可以直接用Java代码启动关闭服务器,也可以直接运行Servlet

 

为什么Jetty8:

按照官方的说法,Jetty 9开始需要JDK1.7, 所以安装JDK1.6的,只能使用Jetty8了,之前使用的Jar包是jetty-all-9.0.0.rc1.jar,运行程序后会出现如下错误:

Exception in thread "main" java.lang.UnsupportedClassVersionError: org/eclipse/jetty/start/Main : Unsupported major.minor version 51.0

 所以1.6的只能使用Jetty8的Jar包比如jetty-all-8.1.2.v20120308.jar,除此之外还需要servlet-api.jar

 

以下是HelloWorld的代码:

package com.jingshou.jetty;

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.Server;
import org.eclipse.jetty.server.handler.AbstractHandler;
 
public class HelloWorld extends AbstractHandler {
 
    @Override
    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>");
    }
 
    public static void main(String[] args) throws Exception {
        Server server = new Server(8888);
        server.setHandler(new HelloWorld());
        server.start();
        server.join();
    }
}

 

运行后请求http://localhost:8888,将会输出HelloWorld

 

意义:

  • 多了一种启动,部署web服务器的方式,而且是以Java代码的方式
  • 在测试活动中可以使用嵌入式Jetty服务器做桩,感觉对做前端的同学应该会有用

更多学习资料:

  • Jetty实战:http://blog.csdn.net/column/details/jettyinaction.html 基本都是学官方的例子....
  • 官方文档: http://wiki.eclipse.org/Jetty/Tutorial/Embedding_Jetty

 本文出自"lijingshou"博客,转载请务必保留此出处http://lijingshou.iteye.com/blog/2016207

分享到:
评论

相关推荐

    HelloWorld之jetty运行

    由于其嵌入式特性和高效性能,Jetty常被用于开发快速原型、微服务和云应用。在Java社区中,Jetty因其小巧、易于集成和高度可定制的特点而受到广泛欢迎。 【搭建Jetty环境】 要搭建一个简单的Jetty环境,首先需要...

    servelt hello world

    &lt;servlet-name&gt;HelloWorld &lt;servlet-class&gt;HelloWorldServlet &lt;servlet-name&gt;HelloWorld &lt;url-pattern&gt;/hello ``` 这将映射URL `/hello` 到 `HelloWorldServlet`。 现在,我们引入了Jetty服务器,它是...

    springboot-demo-helloworld-jetty.rar

    SringBoot的概述# SpringBoot解决上述Spring的缺点SpringBoot对上述Spring的缺点进行的改善和优化,基于约定优于配置的思想,可以让开发人员不必在配置与逻辑业务之间进行思维的切换,全身心的投入到逻辑业务的代码...

    利用Jetty服务器开发web应用例程

    由于其轻量级特性,Jetty无需复杂的部署步骤,可以方便地与Java应用程序集成,尤其适合嵌入式场景。 在使用Jetty开发Web应用之前,确保已安装了Java Development Kit (JDK)。然后,你可以通过Maven或Gradle将Jetty...

    jersey和jetty的restful服务程序

    Jersey是Java平台上的一个开源框架,用于实现 Representational State Transfer (REST) API,而Jetty则是一个轻量级的嵌入式Servlet容器,常被用来托管Web应用程序。 首先,我们需要理解RESTful架构风格。RESTful...

    helloworld-dropwizard:Dropwizard hello world 应用程序

    "helloworld-dropwizard" 是一个简单的示例项目,用于演示如何使用 Dropwizard 创建一个基础的 "Hello, World!" 应用程序。下面将详细讲解 Dropwizard 的核心组件以及如何使用它来构建应用。 1. **Dropwizard 框架...

    springboothelloworld.zip

    SpringBoot HelloWorld 示例是一个基础的Web应用,用于演示Spring Boot框架的基本使用。Spring Boot是由Pivotal团队提供的一个全新框架,其设计目标是用来简化新Spring应用的初始搭建以及开发过程。它集成了大量的...

    CXF应用整理(包括大文件上传MTOM、安全机制)

    【CXF 应用详解:从 HelloWorld 到高级特性】 CXF 是一款开源的 Java SOAP 和 RESTful 服务框架,它允许开发者轻松地创建和消费 Web 服务。本篇文章将深入探讨 CXF 的一些核心功能,包括简单的 HelloWorld 示例、...

    springBoot demo

    SpringBoot的核心特性包括嵌入式Servlet容器(如Tomcat或Jetty)、默认的配置、健康检查、应用信息暴露、Actuator监控等。 2. MyBatis简介: MyBatis是一个基于Java的持久层框架,它允许开发者编写动态SQL来操作...

    史上最简单的spring boot程序

    Java是编程语言,Spring Boot是构建在这个语言上的框架,而“helloworld”则暗示了这是一个基础的教学示例,用来展示如何使用Spring Boot来开发简单的Java应用。 至于压缩包中的文件“helloworld-1”,根据命名习惯...

    JettyTest.rar

    2. **创建第一个Web应用**:通过编写一个简单的"Hello, World!"Servlet,展示如何在Jetty中部署Web应用。这通常涉及创建`web.xml`部署描述符文件,编写Servlet类,并将它们组织到特定的目录结构中。 3. **嵌入式...

    HelloWorld-SpringBoot:这个项目是关于 Spring Boot Framework 的入门项目

    通过 "HelloWorld-SpringBoot" 项目,我们可以学习到如何创建一个基本的 Spring Boot 应用,理解其核心机制,并逐步扩展功能,如数据库集成、API 开发和安全控制。这将为我们后续深入探索 Spring Boot 的其他高级...

    dropwizard-hello-world

    - **src/main/java/com/example/helloworld**: 包含项目的主要 Java 代码,比如 `HelloWorldApplication`(应用程序入口)和 `HelloWorldResource`(RESTful 资源类)。 - **src/main/resources**: 存放资源文件,如...

    spring boot入门例子

    6. **Helloworld 示例**:在Spring Boot中,创建一个简单的Hello World应用,只需要定义一个带有`@RestController`注解的控制器类,以及一个返回字符串的方法,比如`@GetMapping("/") public String hello() { ...

    springside

    - **嵌入式Web服务器**:如Tomcat、Jetty等,简化部署流程。 - **健康检查和Actuator**:提供健康检查、监控和管理应用的端点。 5. **示例**: - 可能涉及到书店管理系统的实现,可能涵盖图书管理、订单处理、...

    Android 上的http server程序

    这个例子中,我们创建了一个监听8080端口的服务器,当访问根路径"/"时,返回"Hello, World!"。 **5. 高级特性** 除了基础的HTTP响应外,i-jetty-3.1还支持更复杂的特性,例如: - **静态文件服务**:可以配置服务器...

    springboot2.4从实战到源码分析Demo源码工程.zip

    在解压的`boot-01-helloworld`项目中,我们可以看到一个简单的Hello World示例,通过它了解如何启动一个基本的SpringBoot应用。源码分析将帮助我们深入理解上述概念在实际代码中的应用,以及SpringBoot是如何通过...

    生成一个简单的Spring Boot应用程序.pdf

    6. **开发“Hello World!”Web应用** - **主类**:创建一个带有`@SpringBootApplication`注解的主类,作为Spring Boot应用的入口。 - **Controller类**:实现一个简单的REST Controller,返回“Hello World!”字符...

    SpringBoot

    5. **嵌入式服务器**:Spring Boot 内置了 Tomcat、Jetty 或 Undertow 等嵌入式 Web 服务器,简化了开发过程。 6. **Spring 生态系统整合**:Spring Boot 与 Spring 生态系统中的其他项目无缝集成,如 Spring Data、...

    tomcat7 在java程序中启动

    文档中提到的`org.apache.markt.HelloWorld`是一个嵌入式Tomcat的简单示例,它展示了如何创建一个嵌入式Tomcat服务器并部署一个简单的Servlet。这个例子中,`Tomcat`类是核心,通过实例化这个类并进行适当的配置后,...

Global site tag (gtag.js) - Google Analytics