Jetty - 嵌入式執行Servlet
一、說明
在嵌入式Jetty中,有時候我們想執行一些的Servlet,此時就需要建立建立Context,然後讓自己的Servlet執行在這些ServletContext中。
二、應用
1、方式一
除了上面的方式外,也可以建立兩個Context,分別繫結到/index/indexServlet和/user/userServlet,如下:
在嵌入式Jetty中,有時候我們想執行一些的Servlet,此時就需要建立建立Context,然後讓自己的Servlet執行在這些ServletContext中。
二、應用
1、方式一
首先建立一個ServletContextServer類,用來初始化web應用程式的Context,並且指定Servlet和Servlet匹配的url。這裡指定了兩個Servlet,分別是IndexServlet和UserServlet,並分別對應/test/index/indexServlet和/test/user/userServlet。
package com.test.main;
import org.eclipse.jetty.server.Connector;
import org.eclipse.jetty.server.Handler;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.handler.ContextHandlerCollection;
import org.eclipse.jetty.server.nio.SelectChannelConnector;
import org.eclipse.jetty.servlet.ServletContextHandler;
import org.eclipse.jetty.servlet.ServletHolder;
import com.test.servlet.IndexServlet;
import com.test.servlet.UserServlet;
public class Main {
public static void main(String[] args) throws Exception {
Server service = new Server();
//建立聯結器
Connector connector = new SelectChannelConnector();
// 設定埠
connector.setPort(80);
// 設定host地址
connector.setHost("127.0.0.1");
service.setConnectors(new Connector[] { connector });
//ServletContext
ServletContextHandler context =
new ServletContextHandler(ServletContextHandler.SESSIONS);
//設定根路徑
context.setContextPath("/test");
//設定servlet的url
context.addServlet(new ServletHolder(new IndexServlet()), "/index/indexServlet");
context.addServlet(new ServletHolder(new UserServlet()), "/user/userServlet");
service.setHandler(context);
service.setStopAtShutdown(true);
service.setSendServerVersion(true);
// 啟動服務
service.start();
service.join();
}
}
2、方式二除了上面的方式外,也可以建立兩個Context,分別繫結到/index/indexServlet和/user/userServlet,如下:
package com.test.main;
import org.eclipse.jetty.server.Connector;
import org.eclipse.jetty.server.Handler;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.handler.ContextHandlerCollection;
import org.eclipse.jetty.server.nio.SelectChannelConnector;
import org.eclipse.jetty.servlet.ServletContextHandler;
import org.eclipse.jetty.servlet.ServletHolder;
import com.test.servlet.IndexServlet;
import com.test.servlet.UserServlet;
public class Main {
public static void main(String[] args) throws Exception {
Server service = new Server();
//建立聯結器
Connector connector = new SelectChannelConnector();
// 設定埠
connector.setPort(80);
// 設定host地址
connector.setHost("127.0.0.1");
//context1
ServletContextHandler context1 =
new ServletContextHandler(ServletContextHandler.SESSIONS);
context1.setContextPath("/index");
context1.setClassLoader(Thread.currentThread().getContextClassLoader());
context1.addServlet(new ServletHolder(new IndexServlet()), "/indexServlet");
//context2
ServletContextHandler context2 =
new ServletContextHandler(ServletContextHandler.SESSIONS);
context2.setContextPath("/user");
context2.setClassLoader(Thread.currentThread().getContextClassLoader());
context2.addServlet(new ServletHolder(new UserServlet()), "/userServlet");
//contexts
ContextHandlerCollection contexts = new ContextHandlerCollection();
contexts.setHandlers(new Handler[] { context1, context2 });
service.setHandler(contexts);
service.setStopAtShutdown(true);
service.setSendServerVersion(true);
// 啟動服務
service.start();
service.join();
}
}
相關文章
- jetty、servlet以及spring的銜接原始碼分析JettyServletSpring原始碼
- Servlet基本概念及執行流程Servlet
- 使用 Jetty 12 演示 Ktor 中的虛擬執行緒支援Jetty執行緒
- Servlet入門二:Tomcat安裝與執行ServletTomcat
- 動態執行緒池(DynamicTp)之動態調整Tomcat、Jetty、Undertow執行緒池引數篇執行緒TomcatJetty
- 十二、Spring Boot 嵌入式 Servlet 容器啟動原理Spring BootServlet
- 嵌入式作業1.2 執行示例程式
- Java servlet執行的完整流程(圖解含原始碼分析)JavaServlet圖解原始碼
- Jetty使用入門Jetty
- 好程式設計師Java教程分享Servlet基本概念以及執行流程程式設計師JavaServlet
- Jetty的server模組JettyServer
- Jetty的threadpool模組Jettythread
- 嵌入式裝置(T507)執行qml程式提示module is not installed
- 【譯】用maven使java web應用執行在內嵌的Jetty或TomMavenJavaWebJetty
- 嵌入式行業要求行業
- (嵌入式)Windows與Ubantu下的C語言程式的編譯執行WindowsC語言編譯
- Jetty的http3模組JettyHTTP
- Jetty的http2模組JettyHTTP
- jsp+servlet+mysql實現機票預訂航班系統(含原始碼、MySQL、包執行)JSServletMySql原始碼
- Servlet系列:(一)servlet原理剖析Servlet
- Servlet 規範和 Servlet 容器Servlet
- SpringBoot2.4.0中嵌入式servlet容器的自動配置以及啟動原理(自我理解)Spring BootServlet
- 96.Servlet Servlet生命週期Servlet
- Servlet第二篇【Servlet呼叫圖、Servlet細節、ServletConfig、ServletContext】ServletContext
- Tomcat vs Jetty vs Undertow效能對比TomcatJetty
- 在Ubuntu上使用Jetty部署War包UbuntuJetty
- 保證執行緒在主執行緒執行執行緒
- JavaWeb——ServletJavaWebServlet
- Servlet概述Servlet
- JavaWEB - ServletJavaWebServlet
- 多執行緒------執行緒與程式/執行緒排程/建立執行緒執行緒
- jetty啟動web專案原始碼分析JettyWeb原始碼
- linux線上環境jetty調優方案LinuxJetty
- Pytest 順序執行,依賴執行,引數化執行
- Jetty - 在整合Spring的J2SE應用程式中嵌入Jetty的Web功能(應用和Web共用ApplicationContext)JettySpringWebAPPContext
- 執行緒和執行緒池執行緒
- SingleThreadExecutor(單執行緒執行器)thread執行緒
- 多執行緒--執行緒管理執行緒
- multiprocessing多執行緒未執行執行緒