日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Java實現基于NIO的多線程Web服務器實例

瀏覽:35日期:2022-09-04 15:21:21

代碼地址:https://github.com/iyuanyb/webserver

實現了

靜態、動態資源獲取;

Cookie、Session、HTTP 長連接,及 Session 和 HTTP 長連接的定時清除;

類似 Spring MVC 的注解式編程,如 @RequestMapping @RequestParam 等,方法中可以根據參數名從前臺獲取數據,可以傳遞對象,也支持級聯屬性,如:

// GET /page?pageSize=10&pageNum=1 HTTP/1.1@RequestMapping('/page')String page(@RequestParam(value='pageSize', defaultValue='10') Integer pageSize, Integer pageNum) {...} /** * POST /login HTTP/1.1 * ... * user.name=admin&user.passwd=admin&user.data.val=ok * ******* * User 類:String name; String passwd; Data data; * Data 類: String val; */@RequestMapping('/login', method = HttpMethod.POST)String login(User user) {...}

方法可以返回一個字符串表示模板路徑,模板使用正則實現,僅可以從 request 和 session 域中獲取屬性值,如 ${request.user.id};

日志記錄(使用 java.util.logging 內置日志記錄器,自定義了日志格式):服務器運行相關日志(server-n.log),HTTP 請求日志(access-n.log)。

API 匯總:

@Controller@RequestMapping@RequestParam@RequestHeader@CookieValueHttpRequestHttpResponseHttpSessionCookieHttpMethod

使用方法

導入 jar 包(見 release)即可使用相關注解,還需要在 classpath 下創建一個 webapp 目錄,表示靜態 web 資源的根路徑。然后在主類的 main 方法中調用 BootStrap.run(),由于掃描控制器是通過遍歷目錄實現的,所以項目不支持打包,必須以 class 文件的形式發布。參數配置需要在 classpath 中提供一個 server-config.properties 配置文件即可,包含如下配置項:

# 服務器端口PORT=80# 存儲日志文件的路徑LOG_FILE_STORAGE_PATH=E:# 連接過期時間,單位毫秒CONNECTION_EXPIRY_TIME=30000# 清理過期連接的周期,單位毫秒CONNECTION_CLEANING_CYCLE=30000# Session 過期時間,單位毫秒SESSION_EXPIRY_TIME=30000# 清理過期 Session 的周期,單位毫秒SESSION_CLEANING_CYCLE=30000# 監聽客戶端讀事件的線程數目POLLER_THREAD_COUNT=2# 處理具體請求的線程池的大小REQUEST_PROCESSOR_THREAD_COUNT=4

演示

項目結構

EchoController.java

package com.test; // 導包省略... @Controller // 只有被 @Controller 標記的才會被認為是控制器 // 支持在類上使用 @RequestMapping 注解,public class EchoController { // 線程安全 private static final DateTimeFormatter formatter = DateTimeFormatter.ofPattern('yyyy-MM-dd HH:mm:ss'); @RequestMapping('/echo') // 映射到 '/echo' public String echo(HttpRequest request, @RequestParam(value = 'msg', defaultValue = '輸入為空') String msg) { LocalDateTime localDateTime = LocalDateTime.ofEpochSecond(request.getSession().getLastAccessedTime() / 1000, 0, ZoneOffset.ofHours(8)); request.setAttribute('lastAccessedTime', localDateTime.format(formatter)); request.setAttribute('msg', msg); return 'test.html'; // 要渲染的的模板路徑(classpath:webapp/test.html) } public static void main(String[] args) { BootStrap.run(); }}

test.html

<!DOCTYPE><html lang='en'> <head> <title>Test</title> </head> <body> <p>Echo: ${request.msg}</p> <p>Last Accessed Time: ${request.lastAccessedTime}</p> <p><img src='http://www.b3g6.com/bcjs/img/girl.jpg' alt='girl' /></p> </body></html>

關于實例圖片,GitHub暫時失效,后期好吧啦網小編會補充進去。

到此這篇關于Java實現基于NIO的多線程Web服務器實例的文章就介紹到這了,更多相關Java 實現一個的基于 NIO 的多線程Web服務器內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产视频一区免费看| 日韩欧美一区二区三区免费看| 蘑菇福利视频一区播放| 综合欧美精品| 国产麻豆精品久久| 欧美好骚综合网| 午夜免费一区| 色狠狠一区二区三区| 精品网站999| 在线国产一区| 欧美日本二区| 亚洲性色视频| 国产乱人伦精品一区| 日韩精品免费一区二区在线观看| 99精品在线| 一区二区电影| 久久一区欧美| 一区二区小说| 欧美亚洲综合视频| 久久高清免费| 日本成人在线不卡视频| 在线天堂中文资源最新版| 另类av一区二区| 久久精品国内一区二区三区| 久久国产中文字幕| 国产欧美69| 亚洲精品在线观看91| 国产精品对白| 模特精品在线| 精品国产精品久久一区免费式| 五月天久久777| 国产精品红桃| 免费欧美在线视频| 激情黄产视频在线免费观看| 亚洲精品欧洲| 久久久噜噜噜| 欧美国产中文高清| 玖玖玖国产精品| 91亚洲一区| 日韩不卡在线观看日韩不卡视频 | 亚洲有吗中文字幕| 激情国产在线| 欧美一级二级三级视频| 在线日韩中文| 久久香蕉精品香蕉| 亚洲日本免费电影| 亚洲福利久久| 国产一区二区三区久久久久久久久| 中文字幕一区二区三区四区久久 | 亚洲精品美女91| 亚洲一级少妇| 国产欧美日韩在线观看视频 | 深夜福利视频一区二区| 久久精品99久久久| 国产精品三上| 久久久一二三| 成人午夜亚洲| 国产精品久久久久久久久免费高清| 亚洲精品电影| 97se综合| 鲁大师精品99久久久| 日韩久久一区| 美国欧美日韩国产在线播放| 99精品电影| 大香伊人久久精品一区二区| 日本免费一区二区视频| 日韩天堂av| 日韩不卡免费高清视频| 欧美1区2区3| 日本午夜精品一区二区三区电影| 欧美专区在线| 中文亚洲欧美| 91久久国产| 播放一区二区| 最新中文字幕在线播放| 精品福利久久久| 美女久久久久久 | 日韩1区2区3区| 视频一区免费在线观看| 欧美va天堂在线| 久久九九99| 日韩精品欧美| 另类中文字幕国产精品| 91综合网人人| 日韩av在线播放网址| 精品三级av| 久久99久久久精品欧美| 青青草国产精品亚洲专区无| 亚洲精品精选| 亚洲精品日韩久久| 日韩欧美激情| 亚洲日产国产精品| 亚洲精品日本| 日本在线成人| 91精品国产经典在线观看| 日韩三区四区| 亚洲精品一级二级三级| 亚洲开心激情| 亚洲精品国产日韩| 日韩精品亚洲专区| 国产欧美综合一区二区三区| 国产精品入口久久| 国产一区二区三区视频在线| 在线天堂资源www在线污| 精品成人免费一区二区在线播放| 精品日韩视频| 欧美中文字幕一区二区| 欧美91视频| 国产精品视区| 在线精品一区二区| 少妇精品久久久一区二区| 天堂俺去俺来也www久久婷婷| 天堂久久av| 国产精品www994| 狠狠久久伊人中文字幕| av综合电影网站| 欧美精品一区二区久久| 另类av一区二区| 日本久久一区| 久久精品一区二区国产| 97精品一区二区| av高清一区| 免费中文字幕日韩欧美| 亚洲精品在线a| 国产免费av国片精品草莓男男| 国产精品一区二区中文字幕| 国产一区二区三区精品在线观看| 神马日本精品| 视频一区中文字幕国产| 国产美女久久| 日韩欧美网址| 久久午夜精品一区二区| 国产欧美日韩一区二区三区在线| 国产91在线播放精品| 亚洲黑丝一区二区| 五月亚洲婷婷 | 男女激情视频一区| 7777精品| 日韩大片在线| 蜜臀av一区二区三区| 国产精品videossex久久发布| 欧美香蕉视频| 亚洲色图网站| 麻豆国产91在线播放| 久久久777| 亚洲人www| 国产精品日本一区二区不卡视频| av综合电影网站| 免费看日韩精品| 精品一区二区三区在线观看视频| 久久青草久久| 91成人在线精品视频| 中文字幕系列一区| 亚洲精品裸体| 天堂√8在线中文| 一区二区电影| 国产传媒在线观看| 免费在线观看成人| 精品国产精品久久一区免费式 | 亚州国产精品| 黄色在线网站噜噜噜| 亚洲2区在线| 日韩一区电影| 日本久久一区| 91精品婷婷色在线观看| 日韩av网站在线免费观看| 色爱综合av| 欧美另类中文字幕| 亚洲欧美日韩高清在线| 欧美成人一二区| 黄色免费成人| 荡女精品导航| 日本久久二区| 神马日本精品| 国产欧美高清| 天堂成人国产精品一区| 国产精品99久久精品| 亚洲一区av| 久久精品亚洲人成影院| 国产精品香蕉| 亚洲丝袜啪啪| 99精品综合| 成人台湾亚洲精品一区二区| 日本久久一区| 国产视频亚洲| 黄在线观看免费网站ktv| 日韩欧美久久| 妖精视频成人观看www| 亚洲天堂资源| 国产精品大片| 日韩精品欧美大片| 狠狠色狠狠色综合日日tαg| 国产精品成人a在线观看| 国产探花在线精品一区二区| 免费久久99精品国产| 香蕉久久精品| 极品av在线| 欧美激情一区| 青青伊人久久| 亚洲资源在线|