由于jetty8以上版本已经抛弃JDK1.6,公司统一开发JDK又一直不升级,所以我们使用jetty8

pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.nihaorz</groupId>
<artifactId>my-project</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>my-project</name>
<url>http://maven.apache.org</url>
<dependencies>
<!-- 增加对jsp解析的支持,如果项目中没有使用jsp,这个依赖可以删掉 -->
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-jsp</artifactId>
<version>8.1.22.v20160922</version>
</dependency>
<!-- jetty主依赖 -->
<dependency>
<groupId>org.eclipse.jetty.aggregate</groupId>
<artifactId>jetty-all</artifactId>
<version>8.1.22.v20160922</version>
</dependency>
</dependencies>
<build>
<finalName>my-project</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
</build>
</project>

jetty.properties,依据项目结构自行修改

#jetty部署端口
jetty.port=8080
#jetty部署上下文
jetty.contextPath=/webapp
#资源路径,开发模式下默认为./src/main/webapp,也可设置绝对路径
jetty.resourceBase=./src/main/webapp
#web.xml路径,开发模式下默认为./src/main/webapp/WEB-INF/web.xml,也可设置绝对路径
jetty.descriptor=./src/main/webapp/WEB-INF/web.xml

DevStart.java,启动类,run main()

package com.nihaorz.start;

import org.eclipse.jetty.server.Request;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.handler.AbstractHandler;
import org.eclipse.jetty.webapp.WebAppContext; import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Properties; public class DevStart extends AbstractHandler { @Override
public void handle(String s, Request request, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws IOException, ServletException { } public static void main(String[] args) throws Exception {
Properties prop = new Properties();
prop.load(DevStart.class.getResourceAsStream("/config/jetty.properties"));
WebAppContext context = new WebAppContext();
// 设置端口
Server server = new Server(Integer.parseInt(prop.getProperty("jetty.port")));
// 设置部署上下文
context.setContextPath(prop.getProperty("jetty.contextPath"));
// 设置基础资源路径
context.setResourceBase(prop.getProperty("jetty.resourceBase"));
// 设置web.xml
context.setDescriptor(prop.getProperty("jetty.descriptor"));
context.setParentLoaderPriority(true);
server.setHandler(context);
server.start();
server.join();
} }

  

  

嵌入式启动jetty的更多相关文章

  1. 嵌入式服务器jetty,让你更快开发web

    概述 jetty是什么? jetty是轻量级的web服务器和servlet引擎. 它的最大特点是:可以很方便的作为嵌入式服务器. 它是eclipse的一个开源项目.不用怀疑,就是你常用的那个eclip ...

  2. jetty之嵌入式运行jetty

    在文章什么是jetty中,提到jetty容器真正出名的地方是可以作为一个嵌入到java代码的servlet容器,即可以在java代码中实例化servlet对象并操作该对象.下面我们就先来学习 下如何把 ...

  3. jetty 通过配置文件嵌入式启动web服务

    定义 jetty.xml 启动文件 <?xml version="1.0"?><!DOCTYPE Configure PUBLIC "-//Jetty/ ...

  4. Jetty 嵌入式启动官方完整教程

    网上太多了,不如直接看官方的这个全面. http://wiki.eclipse.org/Jetty/Tutorial/Embedding_Jetty 入门地址: http://wiki.eclipse ...

  5. 启动jetty命令

    mvn jetty:run在某个maven web工程目录下启动此命令,将把此web工程部署到jetty应用服务器下,默认端口是8080

  6. Linux 嵌入式启动以及优化

    转载:http://www.embeddedlinux.org.cn/html/jishuzixun/201312/19-2717.html 第一步: BootLoader -- U boot   1 ...

  7. IDEA启动Jetty报404

    在别的电脑上是OK的,到本机就不行了,很可能是Working路径的问题. 设置这里的路径即可:(你的web模块路径)

  8. Jetty嵌入式Web容器攻略

    Jetty是一个用 Java 实现.开源.基于标准的,并且具有丰富功能的 Http 服务器和 Web 容器.Jetty中应用最广泛的一项功能就是可以作为嵌入式Web容器. 在开发阶段,可以使用Jett ...

  9. 嵌入式jetty的HTTP实现

    2    嵌入式jetty的HTTP实现 布拉君君 2.1 简单HTTP实现 2.1.1 HTTP SERVER端实现 2.1.1.1 HTTP SERVER端实现概述 在代码中嵌入一个Jetty s ...

随机推荐

  1. [01] JSP的基本认识

    1.什么是JSP JSP,全称JavaServer Pages,是由Sun Microsystems公司倡导和许多公司参与共同建立的一种使软件开发者可以响应客户端请求,而动态生成HTML.XML或其他 ...

  2. identity一些接口

    ASP.NET平台通过HttpContext对象提供一些关于用户的有用信息,该对象由Authorize注解属性使用 的,以检查当前请求的状态,考察用户是否已被认证.HttpContext.User属性 ...

  3. CF1097F Alex and a TV Show 莫比乌斯反演、bitset

    传送门 发现自己对mobius反演的理解比较浅显-- 首先我们只需要维护每一个数的出现次数\(\mod 2\)的值,那么实际上我们只需要使用\(bitset\)进行维护,每一次加入一个数将其对应次数异 ...

  4. [Oracle]获得PDB相关的xml 文件

    问题:客户进行了PDB的克隆之后,发现启动时出现: ORA-44777: Pluggable database service cannot be started. 分析手段: 为了获得PDB的相关信 ...

  5. 介绍HTTP协议的传输过程

    1.HTTP是面向事物的应用层协议,它使用TCP连接进行可靠传输,服务器默认监听在80端口 2.服务流程 从协议执行过程来说,当浏览器要访问www服务器时,首先要对服务器进行域名解析(DNS协议).一 ...

  6. html5录音支持pc和Android、ios部分浏览器,微信也是支持的,JavaScript getUserMedia

    以前在前人基础上重复造了一个网页录音的轮子,顺带把github仓库使用研究了一下,扔到了github上. 优势在于结构简单,可插拔式的录音格式支持,几乎可以支持任意格式(前提有相应的编码器):默认提供 ...

  7. .net core实践系列之短信服务-为什么选择.net core(开篇)

    前言 从今天我将会写.net core实战系列,以我最近完成的短信服务作为例子.该系列将会尽量以最短的时间全部发布出来.源码也将优先开源出来给大家. 源码地址:https://github.com/S ...

  8. 一文让你完全弄懂Stegosaurus

    国内关于 Stegosaurus 的介绍少之又少,一般只是单纯的工具使用的讲解之类的,并且本人在学习过程中也是遇到了很多的问题,基于此种情况下写下此文,也是为我逝去的青春时光留个念想吧~ Stegos ...

  9. WordPress更新提示无法创建目录的解决方案

    上一篇我们说到无法连接FTP服务器,我们已经完美的解决了,然后...发现...还是无法更新,啥情况??? 提示为无法创建目录 原因是执行更新程序的是www用户, 解决方案如下: 需要把插件或主程序下载 ...

  10. 分布式监控系统Zabbix-3.0.3-新版微信报警(企业微信取代企业号)

    一般来说,Zabbix可以通过多种方式把告警信息发送到指定人,常用的有邮件,短信报警方式,但是现在越来越多的企业开始使用zabbix结合微信作为主要的告警方式,这样可以及时有效的把告警信息推送到接收人 ...