前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >快速学习Jetty-Jetty的高级运用

快速学习Jetty-Jetty的高级运用

作者头像
cwl_java
发布2019-11-05 14:09:20
7010
发布2019-11-05 14:09:20
举报
文章被收录于专栏:cwl_Javacwl_Java

异步Servlet

异步 Servlet 是 Servlet3.0 出来的新特性
  • 应用场景:在并发量较大的情况下,若一个 Servlet 处理较慢,则会导致所有 Servlet 需要排队等待之前的 Servlet 线程处理完成后才能继续执行。
  • 在加入了异步 Servlet 之后,可以在处理时间较长的 Servlet 中增加单独的工作线程专门处理该业务,然后 Servlet 线程继续处理其他的 Servlet 请求。
嵌入式服务器
  • Jetty 有一个口号:不要把应用部署到 Jetty 上,要把 Jetty 部署到你的应用里。这句话的意思是把应用打成一个 war 包部署到
  • Jetty 上,不如将 Jetty 作为应用的一个组件。换种说法,用嵌入式的方式使用 Jetty,就意味着把 HTTP 模块放到你的应用里,使用这种方式,既降低了我们部署的复杂度,也可以让我们的一个普通应用快速的拥有 HTTP 服务的功能。

将Jetty嵌入项目

创建嵌入式应用的步骤:
  1. 导入 maven 依赖
  2. 创建启动程序
  3. 使用 maven 打包
  4. 运行解压后 bin 目录下的脚本

开发版引导程序创建步骤:
  1. 创建 Server 对象
  2. 创建 ServerConnector 对象,并传入 Server 对象 2.1 设置服务端口 2.2 设置重用地址为 false
  3. 将 connector 对象放入 server 中
  4. 创建 WebAppContext 对象,传入 webapp 和上下文路径 4.1 设置 web.xml 文件路径 4.2 设置项目跟路径 4.3 设置类加载器
  5. 将 webAppContext 放入 server
  6. 启动 server
  7. 将 Server 加入当前线程

部署版引导程序创建步骤:
  1. 拿到当前的 war 文件路径
  2. 创建 webCtx 对象,设置 war 路径与上下文路径
  3. 获取到当前 war 文件所在的文件夹
  4. 创建一个临时的工作空间
  5. 将该临时空间设置到 webCtx
  6. 将当前的 webCtx 设置到 server 的 handler 中


本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-11-04 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 异步Servlet
    • 异步 Servlet 是 Servlet3.0 出来的新特性
      • 嵌入式服务器
      • 将Jetty嵌入项目
        • 创建嵌入式应用的步骤:
          • 开发版引导程序创建步骤:
            • 部署版引导程序创建步骤:
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档