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();
}
}
相關文章
- Maven Jetty Plugin執行配置jetty:runMavenJettyPlugin
- Jetty - 嵌入式WebJettyWeb
- Jetty嵌入式Web容器攻略JettyWeb
- servlet 多執行緒Servlet執行緒
- Jetty的配置、部署與API使用——(3)Linux下利用Jetty API執行一個Jetty伺服器JettyAPILinux伺服器
- Jetty的配置、部署與API使用——(2)通過Jetty的Java API執行一個Jetty伺服器JettyAPIJava伺服器
- jetty、servlet以及spring的銜接原始碼分析JettyServletSpring原始碼
- Servlet基本概念及執行流程Servlet
- 漫遊 javax.servlet 請求引數解析(jetty 實現)JavaServletJetty
- 求助? 怎麼在jboss下執行servletServlet
- 使用 Jetty 12 演示 Ktor 中的虛擬執行緒支援Jetty執行緒
- Servlet入門二:Tomcat安裝與執行ServletTomcat
- 動態執行緒池(DynamicTp)之動態調整Tomcat、Jetty、Undertow執行緒池引數篇執行緒TomcatJetty
- 嵌入式作業1.2 執行示例程式
- 十二、Spring Boot 嵌入式 Servlet 容器啟動原理Spring BootServlet
- Java servlet執行的完整流程(圖解含原始碼分析)JavaServlet圖解原始碼
- 好程式設計師Java教程分享Servlet基本概念以及執行流程程式設計師JavaServlet
- banq求助servlet out.println()的內容太多...執行時間太長..Servlet
- Embeded Jetty with JSPJettyJS
- Jetty使用入門Jetty
- Jetty的server模組JettyServer
- 關於servlet多執行緒序的疑問,請各位仁兄作答,謝謝。Servlet執行緒
- 嵌入式行業要求行業
- Jetty的配置、部署與API使用——(1)下載安裝JettyJettyAPI
- (嵌入式)Windows與Ubantu下的C語言程式的編譯執行WindowsC語言編譯
- 嵌入式裝置(T507)執行qml程式提示module is not installed
- Servlet 的 init() 執行了兩次??!!為啥啊?Servlet
- Maven配置 Jetty 外掛MavenJetty
- Jetty使用總結薦Jetty
- Jetty的threadpool模組Jettythread
- 各位高手幫幫忙吧!servlet多執行緒問題,詳細內容請進!!!Servlet執行緒
- 【譯】用maven使java web應用執行在內嵌的Jetty或TomMavenJavaWebJetty
- Servlet技術---Servlet深化Servlet
- Jetty的http3模組JettyHTTP
- Jetty的http2模組JettyHTTP
- jsp+servlet+mysql實現機票預訂航班系統(含原始碼、MySQL、包執行)JSServletMySql原始碼
- tomcat執行JSP時產生的錯誤:”javax.servlet.servletexception: java.lang.nosuchmethoderror”TomcatJSJavaServletExceptionError
- Servlet系列:(一)servlet原理剖析Servlet