freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

javaweb服務(wù)器jetty使用手冊(已修改)

2024-11-19 20:24 本頁面
 

【正文】 Java Web 服務(wù)器 Jetty 使用手冊 1. Jetty 介紹 Jetty 是一個開源的 Web 服務(wù)器 用 Java 實現(xiàn)的 ,它提供了對 Servlet 和JSP 的支持 ,還有其它東西。 Jetty 可以被嵌入到 Java 程序里。 Jetty 是輕量級的、高效的。 2. 如何運行 Jetty 首先下載 Jetty 并解壓縮。 單獨啟動 使用 啟動 Jetty 最簡單的方法就是使用 Jetty 的 。 java jar 默認的選項寫在 文件里 ,如果沒有的話,則在 里的 文件里 。 要想查看 的命令行選項和幫助信息請使用: java jar help 特性的詳細描述請參考官方文檔。 更多的 例子 運行 jetty 并且使所有的選項都可用 : java jar OPTIONS=All 運行并啟用 JSP 支持(如果可用的話) java jar OPTIONS=Server,jsp 運行并啟用 JMX 支持 java jar OPTIONS=Server,jmx etc/ etc/ 運行并啟用 JSP 和 JMX 支持 java jar OPTIONS=Server,jsp,jmx etc/ etc/ 停止 Jetty Web 服務(wù)器 要想停止 Jetty Web 服務(wù)器,在命令窗口里面鍵入 CONTROLC。這對生產(chǎn)來說明顯不是一個好的方式, Jetty 提供了一種更好的選擇。當 Jetty 啟 動的時候使用另外的命令行參數(shù),你可以指示 Jetty 去監(jiān)聽一條指定的停止命令。以下是一條示例命令,用來啟動 Jetty,并且使 Jetty 監(jiān)聽一條 9090 端口上的停止命令,而且需要密碼 i5Rules: java =9090 =i5Rules jar 相應(yīng)的停止命令是: java =9090 =i5Rules jar stop 上面的命令很容易就可以被加入 調(diào)度程序 來 在指定的時間啟動和停止Jetty。我會建議你 在 部署 的 目錄里面創(chuàng)建腳本 和 ,里面包含上面的命令。 嵌入式啟動 Jetty 可以 嵌入到另一個 Java 程序里,作為一個嵌入式的 webapp 服務(wù)器來配置和啟動。 一旦你有一個 main 方法來運行 Jetty, 就很容易用你的 IDE 或者調(diào)試器來運行它。 介紹 Jetty 有一句口號 ,“不要把你的程序部署到 Jetty 里面,把 Jetty 部署到你的程序里面?!彼囊馑际悄憧梢园涯愕某绦虼虬蓸藴实?WAR 文件部署到Jetty 里面, 但是 Jetty 被設(shè)計 成為能夠在 Java 程序里面初始化和使用的軟件組件,就像任何一個 POJO 一樣。換句話說,用嵌入式的模式運行 Jetty 意味著把 HTTP 模塊放到你的程序里面,而不是把你的程序放到 HTTP 服務(wù)器里面。 以下一步一步地教你從最簡單的 Jetty 服務(wù)器初始化到用標準的部署描述符來運行多個 web 程序。 細節(jié) 要嵌入一個 Jetty 服務(wù)器,以下是典型的步驟: 1. 創(chuàng)建服務(wù)器 2. 增加 /配置連接器 3. 增加 /配置處理器 4. 增加 /配置 Servlets/Webapps 到處理器 5. 啟動服務(wù)器 6. 等待(連接服務(wù)器,以阻止 main 方法退出) 創(chuàng)建服務(wù)器 以下代碼初始化并且運行最簡單的 Jetty 服務(wù)器 : public class SimplestServer { public static void main(String[] args) throws Exception { Server server = new Server(8080)。 ()。 ()。 } } 它在 8080 端口上運行一個 HTTP 服務(wù)器。這不是一個很有用的服務(wù)器,因為它 沒有處理器,因此對于每一個請求它都會返回一個 404 錯誤。 編寫處理器 要對一個請求產(chǎn)生一個響應(yīng), Jetty 需要在服務(wù)器上設(shè)置一個處理器 。一個處理器可以: ( 1) 檢查 /修改 HTTP 請求。 ( 2) 產(chǎn)生完整的 HTTP 響應(yīng)。 ( 3) 調(diào)用另一個處理器。 ( 4) 選擇一個或多個處理器來調(diào)用。 Hello World 處理器 以下 代碼顯示一個簡單的 hello world 處理器: public class HelloHandler extends AbstractHandler { public void handle(String target,Request baseRequest,HttpServletRequest request,HttpServletResponse response) throws IOException, ServletException { (text/html。charset=utf8)。 ()。 (true)。 ().println(h1Hello World/h1)。 } } 被傳入處理器方法的參數(shù)是: ( 1) target請求的目標,它是一個 URI 或者是一個從一個指定的分發(fā)器來的名字。 ( 2) baseRequestJetty 可變的請求對象,它總是沒被封裝的 。 ( 3) request不可改變的請求對象,它可能被封裝了。 ( 4) response響應(yīng),它可能被封裝了。 處理器設(shè)置響應(yīng)的狀態(tài)、內(nèi)容類型,并且在它 用一個 writer 來 生成響應(yīng)體之前標記請求為已處理 。 以下代碼顯示一個 Jetty 服務(wù)器如何使用這個處理器: public static void main(String[] args) throws Exception { Server server = new Server(8080)。 (new HelloHandler())。 ()。 ()。 } 現(xiàn)在你已經(jīng)知道怎樣編寫一個基于 Jetty 的 HTTP 服務(wù)器了。然而,復(fù)雜的請求處理通常是由多個處理器來共同完成的 。我們會在下面部分講解怎樣像切面那樣組合多個 處理器。 你可以在 Jetty 的 包里面看到一些可用的處理器。 配置連接器 要想配置服務(wù)器用到的 HTTP 連接器 ,你可以在服務(wù)器上設(shè)置一個或多個連接器。你可以 配置 每個連接器的細節(jié),例如接口、端口、緩沖大小、超時時間,等等。 以下代碼顯示如何為 Hello World 來自設(shè)置和配置連接器: public class ManyConnectors { public static void main(String[] args) throws Exception { Server server = new Server()。 SelectChannelConnector connector0 = new SelectChannelConnector()。 (8080)。 (30000)。 (8192)。 SelectChannelConnector connector1 = new SelectChannelConnector()。 ()。 (8888)。 (new QueuedThreadPool(20))。 (admin)。 SslSelectChannelConnector ssl_connector = new SslSelectChannelConnector()。 String jetty_home = (,../jettydistribution/target/distribution)。 (,jetty_home)。 (8443)。 SslContextFactory cf = ()。 (jetty_home + /etc/keystore)。 (OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4)。 (OBF:1u2u1wml1z7s1z7a1wnl1u2g)。 (new Connector[]{ connector0, connector1, ssl_connector })。 (new HelloHandler())。 ()。 ()。 } } 理解處理器集合、 封裝器和范圍 復(fù)雜的 請求處理通常是由可以按照多種方式來組合的多個處理器來完成的: ( 1) 一個處理器集合包 含其它多個處理器的集合, 它按順序調(diào)用每一個處理器。這在把靜態(tài)和日志處理器跟產(chǎn)生相應(yīng)的處理器組合起來的時候很有用。 ( 2) 一個處理器列表是一個處理器集合,它輪流調(diào)用每個處理器,直到拋出異常、響應(yīng)被提交或者 () 返回 true。它可以用來組合 那些有條件地處理一個請求的處理器。 ( 3) 一個上下文處理器集合用最長的請求 URI前綴(上下文路徑)里選擇一個特定的上下文處理器來處理請求。 配置一個文件服務(wù)器 以下代碼使用一個處理器列表來組合 ResourceHandler 和 DefaultHandler: public class FileServer { public static void main(String[] args) throws Exception { Server server = new Server()。 SelectChannelConnector connector = new SelectChannelConnector()。 (8080)。 (connector)。 ResourceHandler resource_handler = new ResourceHandler()。 (true)。 (new String[]{ })。 (.)。 HandlerList handlers = new HandlerList()。 (new Handler[] { resource_handler, new DefaultHandler() })。 (handlers)。 ()。 ()。 } } resource 處理器首先會處理請求并且在本地目錄查找一個匹配的文件,如果找不到,該請求會傳給 default處理器,它會產(chǎn)生一個 404(或者 ) 。 用 XML 來配置文件服務(wù)器 現(xiàn)在是時候提醒你 Jetty XML 配置格式可以把簡單的 Java 代碼轉(zhuǎn)換成 XML配置。所以上面的文件服務(wù)器例子像下面那樣用 Jetty XML 來寫:
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1