自制Jetty服务类

这种方式可以支持websocket,如果项目中需要使用到可以试试这种。

首先pom.xml引入jetty的依赖:

org.eclipse.jetty.aggregate

jetty-all

9.2.14.v20151106

javax.servlet

javax.servlet-api

3.1.0

org.eclipse.jetty

jetty-jsp

9.2.15.v20160210

接下来自己写一个JettyServer类:我自己的完整代码如下

import javax.websocket.server.ServerContainer;

import org.eclipse.jetty.server.Server;

import org.eclipse.jetty.webapp.WebAppContext;

import org.eclipse.jetty.websocket.jsr356.server.deploy.WebSocketServerContainerInitializer;

import org.json.JSONObject;

import com.web.test.MyWebSocket;

public class JettyServer {

public static void main(String[] args) {

int port = 8080;

Server server = new Server(port);

WebAppContext webAppContext = new WebAppContext("webapp","/web");

webAppContext.setDescriptor("webapp/WEB-INF/web.xml");

webAppContext.setResourceBase("src/main/webapp");

webAppContext.setDisplayName("web");

webAppContext.setClassLoader(Thread.currentThread().getContextClassLoader());

webAppContext.setConfigurationDiscovered(true);

webAppContext.setParentLoaderPriority(true);

server.setHandler(webAppContext);

System.out.println(webAppContext.getContextPath());

System.out.println(webAppContext.getDescriptor());

System.out.println(webAppContext.getResourceBase());

System.out.println(webAppContext.getBaseResource());

try {

ServerContainer wscontainer = WebSocketServerContainerInitializer.configureContext(webAppContext);

// Add WebSocket endpoint to javax.websocket layer

wscontainer.addEndpoint(MyWebSocket.class); //这行是如果需要使用websocket就加上,不需要就注释掉这行,mywebsocket是自己写的websocket服务类

server.start();

} catch (Exception e) {

e.printStackTrace();

}

System.out.println("server is start, port is "+port+"............");

}

}

运行项目就只要运行这个main函数即可。

假如正式发布需要放到tomcat里运行,需要把下面这个依赖去掉,tomcat和下面的依赖不兼容,会报错(javax.servlet.ServletException: Not running on Jetty, JSR-356 support unavailable)

这种方式运行项目可以在开发的时候用用

jetty服务器上运行html页面,web项目嵌入Jetty运行的两种方式(Jetty插件和自制Jetty服务器)...相关推荐

  1. ETH:Windows搭建ETH(区块链技术)利用Web端和小程序端两种方式调用ETH上的SC智能合约

    ETH:Windows搭建ETH(区块链技术)利用Web端和小程序端两种方式调用ETH上的SC智能合约 目录 1.Geth安装.配置文件.与ETH节点交互 1.1.下载并安装好geth客户端 1.2. ...

  2. 如何在一台没有网的电脑上安装anaconda_简述验证Anaconda是否安装成功的两种方式...

    /1 前言/ 小编给大家介绍验证Anaconda是否安装成功的两种方式和Anaconda环境变量配置过程.这里仍然是以win10系统为例进行演示. /2 验证是否安装成功方式一/ 1.依次在电脑上点击 ...

  3. pb对Web Service的操作可使用两种方式实现

    从PB8.0/9.0开始,就已经提供Web Service Proxy功能,能够直接进行相关程序的编写. 但是,部分老项目使用PB6.5开发 研究后发现,其实PB6.5要操作Web Service也挺 ...

  4. docker容器运行mysql持久化_docker容器实现数据持久化的两种方式及其区别

    前言 这篇博文是我对docker实现数据持久化几种方式的特征进行一个总结. 在docker中,它的存储文件系统是在dockerhost上原有的xfs或ext4架设了一层文件系统:overlay2(将此 ...

  5. 【SpringBoot】项目实现热部署的两种方式

    前言 spring boot : 2.0.0.RELEASE maven eclipse 另外还需清楚什么是热部署,以及为什么要热部署. SpringBoot项目中实现热部署的两种方式,使得部署变得异 ...

  6. 教你如何在window服务器上快速部署SpringBoot web项目

    小白笔录,大神请绕路.欲在服务器上部署项目,必先细细考量服务器上是否已经搭建好环境.此处以 web项目部署在 tomcat 上为例,前三个步骤以实际情况,读者自行跳过. 一.搭建 jdk 环境 在搭建 ...

  7. 在Web项目中保存会话的两种方法:Cookie和Session

    Web浏览器是与Web服务器之间的会话是一个不保持的会话,浏览器发起请求,建立会话,获得结果后,会话就不在了.然而,在涉及到用户登录Web项目中,开发人员必须有一种方法,区分用户登录前后的状态,以便对 ...

  8. web.config中配置数据库连接的两种方式

    在网站开发中,数据库操作是经常要用到的操作,ASP.NET中一般做法是在web.config中配置数据库连接代码,然后在程序中调用数据库连接代码,这样做的好处就是当数据库连接代码需要改变的时候,我们只 ...

  9. appsettings 连接oracle数据库,web.config中配置数据库连接的两种方式(appSettings 与 connectionStrings)...

    [预览] [转载博客]cnblogs.com/sunzhiyue/archive/2011/06/07/2074696.html 在网站开发中,数据库操作是经常要用到的操作,ASP.NET中一般做法是 ...

最新文章

  1. 来了!微服务中的事务处理
  2. 戴尔t410支持哪些服务器系统,DELL服务器T410
  3. mysql 如何将一个库的一个表的数据复制到另一个库中的一个表
  4. android对应的java版本_Android Studio gradle插件版本和gradle版本对应关系
  5. 计算机在线考试系统的参考文献,基于JSP的在线考试系统
  6. [luogu 2324][SCOI 2005] 骑士精神 (A*算法)
  7. 大话ion系列(五)
  8. Flexbox 布局
  9. 初识react(二) 实现一个简版的html+redux.js的demo
  10. 广东 职称英语计算机,现在评职称英语和计算机都不用考了
  11. netperf使用指南
  12. excel操作练习_你见过最好的Excel教程有哪些?
  13. 破解,汉化,越狱,解锁,为什么中国的大神总是“昙花一现”?
  14. Java多线程系列--“JUC集合”07之 ArrayBlockingQueue
  15. 无法删除IE图标(被劫持)
  16. 利用Requests和BeautifulSoup爬取网易云音乐热歌榜
  17. 如何理解逻辑回归中的似然函数
  18. JSP在电子商务网站开发的运用应用发展方向
  19. Ubuntu16.04下Qt交叉编译开发环境搭建
  20. canvas手绘正五边形

热门文章

  1. 使用光标查询10部门的员工姓名和工资,并打印__使用光标查询员工姓名和工资,并打印
  2. Feature Pyramid Networks for Object Detection 论文笔记
  3. 总线协议之I2C总线时序
  4. java数组-如何在一堆数据中使用数组!
  5. Linq使用Group By
  6. iOS开发之检查更新
  7. POJ1269 直线相交
  8. maven web项目build失败
  9. Android ProgressBar 反向进度条/进度条从右到左走
  10. 杭电ACM_1016_素数环