热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

jetty启动的两种方式:standalone启动和scala程序内嵌启动

jetty(官网:http:www.eclipse.orgjetty)是一个轻量级的webserver容器,可以单独启动,也可以嵌入到scalajava中用代码进行启动,从而方便集成到

jetty(官网:http://www.eclipse.org/jetty/)是一个轻量级的web server容器,可以单独启动,也可以嵌入到scala/java中用代码进行启动,从而方便集成到已有的业务逻辑中去

standalone方式

下载jetty distribution
命令行进入根目录,执行启动命令

cd demo-base
java -jar ../start.jar

在浏览器中访问http://localhost:8080/, 就可以看到示例页面了
这里启动的是jetty官方自带demo页面
详细使用请参考:

http://www.cnblogs.com/yiwangzhibujian/p/5832597.html
http://orchome.com/jetty/index

scala内嵌启动

scala项目中可以手动添加jetty相关的依赖jar文件,然后引用jetty的api, 不过用sbt包管理工具配置更加方便

建立sbt scala项目
工程结构:

这里写图片描述

在scala的sbt项目中配置jetty的依赖
build.sbt

name := "jettyserver"

version := "1.0"

scalaVersion := "2.12.3"

libraryDependencies ++= Seq(
"org.eclipse.jetty" % "jetty-server" % "9.3.13.v20161014",
"org.eclipse.jetty.websocket" % "javax-websocket-server-impl" % "9.3.13.v20161014"
)

scala启动程序
boot.scala

import org.eclipse.jetty.server.Server
import org.eclipse.jetty.server.handler.{DefaultHandler, HandlerList, ResourceHandler}
import org.eclipse.jetty.servlet.ServletContextHandler

object Boot
{
def main(args: Array[String]): Unit =
{
// set port
val server = new Server(1777)
// init handler
val resource_handler = new ResourceHandler()
resource_handler.setDirectoriesListed(true) // enable list directory file when index.html not exit
// resource_handler.setWelcomeFiles(Array("index.html")) // set home page, it is an option here
resource_handler.setResourceBase("./web") // set homepage directory, use relative path

server.setHandler(resource_handler)
// start
server.start()
// wati for server to stop
server.join()
}
}

在工程目录中建立一个web目录,放置jetty启动的主页面
index.html


<html lang="en">
<head>
<meta charset="UTF-8">
<title>hello jettytitle>
head>
<body>
<h1>jetty test in scalah1>
<p>enjoy it now!p>
body>
html>

浏览器访问: localhost:1777,就可以打开主页
这里写图片描述

注意:

  • jetty server还有很多其他的配置,比如context,这里只是基本设置
  • setResourceBase可以设置web访问的主资源目录,可以用相对和绝对路径
  • setDirectoriesListed设置true之后,访问主页时,如果没有主页文件,默认会把主目录的文件list出来
  • server.join()最后会等待程序end的时候关闭jetty server


推荐阅读
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • baresip android编译、运行教程1语音通话
    本文介绍了如何在安卓平台上编译和运行baresip android,包括下载相关的sdk和ndk,修改ndk路径和输出目录,以及创建一个c++的安卓工程并将目录考到cpp下。详细步骤可参考给出的链接和文档。 ... [详细]
  • 本文讨论了如何使用Web.Config进行自定义配置节的配置转换。作者提到,他将msbuild设置为详细模式,但转换却忽略了带有替换转换的自定义部分的存在。 ... [详细]
  • 基于,docker,快速,部署,多,需求,spark ... [详细]
  • php 垃圾回收 默认 打开,PHP垃圾回收机制详解
    PHP的基本GC概念PHP语言同其他语言一样,具有垃圾回收机制。那么今天我们要为大家讲解的内容就是关于PHP垃圾回收机制的相关问题。希望对大家有所帮助。PHPstrt ... [详细]
  • Django3 使用 WebSocket 实现 WebShell
    △点击上方“Python猫”关注,回复“1”领取电子书剧照:《眷思量》作者:从零开始的程序员生活来源:https:www.c ... [详细]
  • 开发笔记:大三上寒假15天第5天
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了大三上寒假15天--第5天相关的知识,希望对你有一定的参考价值。昨天的下载完成后运行报错,应该是下载的spark版本和教 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 浅解XXE与Portswigger Web Sec
    XXE与PortswiggerWebSec​相关链接:​博客园​安全脉搏​FreeBuf​XML的全称为XML外部实体注入,在学习的过程中发现有回显的XXE并不多,而 ... [详细]
  • 【系列二】长连接,短连接及WebSocket介绍(含http1.0,1.1,2.0相关)
    前言上一节讲了长轮询和轮询及其实现,这节讲一讲长连接、短连接及webSocket,在讲这些之前,我们先来普及一下http相关的一 ... [详细]
  • 透明木头问世!“木头大王”胡良兵再发顶刊,已成立公司加速落地69
    道翰天琼认知智能机器人平台API接口大脑为您揭秘。木材是人类最古老的建筑材料之一,也是一种绿色节能材料,我们对其外观的认知可谓根深蒂固。如今,随着透明木材的问世,这一观感将被颠覆。 ... [详细]
author-avatar
书友57087250
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有