Voovan ¿ªÔ´¿ò¼ÜV1.0.beta.1·¢²¼
Voovan ¿ò¼ÜºÍ Netty ÒÔ¼° Mina ¿ò¼ÜÀàËÆ£¬Í¬ÑùÊÇÌṩÁËÒ첽ͨÐŵÄÖ§³Ö£¬µ«Ïà±ÈµÄ²»Í¬ÊÇ Voovan ¿ò¼Ü²ÉÓà Aio ºÍ Nio Ä£ÐÍ£¬¿ò¼ÜÄÚ²¿½â¾öÁËÈÕ³£¿ª·¢Ò»Ð©³£Óöµ½µÄÀ§ÄÑÀýÈ磺SSL ͨÐÅ£¬Socket ͨÐÅÕ³°üµÄÎÊÌâµÈµÈ£¬¿ò¼ÜÉè¼Æ¼«Æä¾«Á¶¡£Ê¹Óà Voovan¿ªÔ´¿ò¼Ü¿ÉÒÔ¿ìËÙÖ±½ÓµÄ¿ª·¢³ö¸ßÐÔÄܵÄÒ첽ͨÐÅ·þÎñ¡£
ͬʱ Voovan ¿ªÔ´¿ò¼ÜÒ²ÔÚÄÚ²¿ÌṩÁ˶ÔÎļþ¡¢Ê±¼ä¡¢JSON¡¢·´Éä¡¢ORM µÈ³£Óù¦ÄÜÖ§³Ö¡£
×îºó Voovan ¿ªÔ´¿ò¼ÜÓзḻµÄÖÐÎÄÎĵµÖ§³Ö±£Ö¤ÄúÈëÃÅѧϰÎÞѹÁ¦¡£
±¾´Î¸üÐÂÎĵµÒ²×öÁËÈ«ÃæµÄÍêÉÆ,»¶Ó´ó¼ÒʹÓÃÑо¿
±¾´Î°æ±¾¸üÐÂÖ÷ÒªÊǶÔÒ첽ͨÐÅ¿ò¼ÜµÄÐÔÄÜÓÅ»¯¡¢Web ·þÎñµÄ¹¦ÄÜÍêÉÆÒÔ¼°´úÂëÖØ¹¹¡£
JSON ÐòÁл¯ÓÅ»¯
Ò첽ͨÐÅÐÔÄÜÓÅ»¯
Ò첽ͨÐÅËøÓÅ»¯
HttpServer Ôö¼Ó·ÓÉÅäÖù¦ÄÜ
HttpRequest Ôö¼ÓÖØ¶¨Ïò·½·¨
HttpServer Ôö¼ÓÄ£¿é¹¦ÄÜ
HttpServer ·ÓÉÆ¥ÅäºöÂÔ´óСд
HttpServer ·¾¶Ä¬ÈϸùÎļþµÄ·½·¨ÎÊÖ§³Ö
ÒÔÏÂÊDZ¾µØ Beta °æ±¾µÄ¸üÐÂÄÚÈÝ£º
Ôö¼ÓµÄÄÚÈÝ:
HttpServer Ôö¼ÓÄ£¿é¹¦ÄÜ
ÔÚ web.jsonÔö¼Ó IndexFiles ²ÎÊý¶¨ÒåÊ×Ò³Ë÷ÒýÎļþµÄÃû³Æ.
Ôö¼Ó¶ÔHttpServer.socket·½·¨ Stream ²Ù×÷Ö§³Ö
ÔÚ web.json ÖÐ¶Ô https ²ÎÊý¶ÀÁ¢´¦Àí
Ôö¼ÓÖ±½Ó½«²ÎÊýת»»³É×Ô¶¨Òå¶ÔÏóµÄ·½·¨ÒÔ¼°È¡Ìض¨ÀàÐͲÎÊýµÄ·½·¨
ÔÚ web.json ÖÐÔö¼Ó·ÓÉ´¦ÀíÆ÷µÄÅä
ÔÚ web.json ÖÐÐÞ¸Ä Filter ½ÚµãÃû³ÆÎª Filters
TString Ôö¼ÓÕýÔòÆ¥Å亯Êý
TFileÔö¼ÓÁËÀàËÑË÷º¯Êý
ÔÚ HttpBizFilter ÀàµÄ onRequest ·½·¨¶ÔÇëÇóÖØ¶¨Ïò.
JSON Ôö¼Ó¸ñʽ»¯Êä³ö JSON µÄº¯Êý
Ôö¼Ó»ñÈ¡×Ô¶¨Òå¶ÔÏóÄ£Ð͵ķ½·¨ TRefletc.getClazzJSONModel(Class clazz)
Ôö¼Ó»ù±¾ÀàÐÍת»»³ÉÆä°ü×°µÄ¶ÔÏóÀàÐÍ·½·¨ TString.toObject
HttpServer Ôö¼ÓºöÂÔ´óСдƥÅä·ÓÉ
Ìí¼Ó@NotJSON×¢½â,¹ýÂ˵ôһЩ²»Ïë½âÎö½ø JSON ×Ö·û´®µÄ×Ö¶Î
ÓÅ»¯ÄÚÈÝ:
HttpClient ´úÂëÓÅ»¯
²¢·¢ÐÔÄܵ÷ÓÅ
SSLÖ¤Êé¹ÜÀíÓÅ»¯
HttpServer¼ÓÔØÓÅ»¯
½«HttpServerÐÔÄÜ¼à¿ØÄ£¿é·ÖÀë³É¶ÀÁ¢ÏîÄ¿
Ôö¼ÓBase64Ëã·¨,ӦΪ jdk1.7²»Ö§³Ö
ÓÉÓÚÔö¼ÓJSON¶Ô»»ÐеÄÖ§³Ö,ÐÔÄÜ¼à¿Ø´úÂë×öÏìÓ¦µÄµ÷Õû
ÖØ¹¹HttpServer´úÂë,½«ÅäÖÃÎļþºÍÉÏÏÂÎÄÀàÒÆ¶¯µ½ context Ŀ¼.
Ôö¼Ó HttpServer µÄ main ·½·¨,ĬÈϼÓÔØ web.json ÖеÄÅäÖÃÐÅÏ¢
JSONת»»ÖжÔ\r \n \µÄ´¦Àí
Socket ͨÐÅ´úÂëÓÅ»¯
ÀàÖØÃüÃûWebSocketBizHandler->WebSocketRoute
ÀàÖØÃüÃûHttpBizHandler->HttpRoute
ÀàÖØÃüÃûHttpBizFilter -> HttpFilter
½« Http ÇëÇóµÄ·¾¶Æ¥Å乿ÔòÐ޸ĵĸü¼ÓÑϸñ
WebContextÀàºÎ WebServerConfig ±©Â¶µÄ·½·¨´¦Àí,¼õÉÙÁËһЩ¿ÉÄܵ¼Ö·çÏյı©Â¶·½·¨
ÓÅ»¯ class ºÍ jar ¼ÓÔØ·½·¨
WebSocketDispatcherÓÅ»¯
ÓÅ»¯ HttpServerFilter ÖжÔHTTP ±¨ÎĵÄÅжϷ½Ê½µÄÓÅ»¯
Mime Ϊ¼«Éٱ䶯µÄ¾²Ì¬ÐÅÏ¢,µ÷Õûµ½Ó¦ÓÃjarµÄ¾²Ì¬×ÊÔ´ÖÐ.µ«Í¬Ê±±£ÁôÁ˶Ô×Ô¶¨ÒåÅäÖõÄÖ§³Ö,×Ô¶¨ÒåÅäÖûḲ¸ÇϵͳĬÈÏÅäÖÃ
ÓÅ»¯ÁË Error µÄ´íÎóÐÅÏ¢Ìáʾ
BUGÐÞ¸´:
ÐÞ¸´ TZip ÖÐ Zip ѹËõµÄ´íÎó
ÐÞ¸´ Http ÏûÏ¢½Ø¶ÏÆ÷¶ÔÓÚÓб£ÄÚÈݲ»½âÎöµÄ bug
Ôö¼Ó¶ÔHttpServer ÇëÇó·¾¶ÖеĴíÎó¼æÈÝ.Ŀǰ¼æÈݶà¸ö/////µÄ´íÎó
Mime ÀàÐÍΪ¿ÕµÄ´¦Àí.
TRefletc.getObjectFromMap´«Èë¿ÕµÄ Map ²ÎÊýµÄ´¦Àí
HttpServer ·¾¶Æ¥Åä*Æ¥ÅäÈ˶à¸öÈÎÒâ×Ö·ûµÄÂß¼bugÐÞ¸´
HttpServer×¢²á handler ʱµÄ˳ÐòÎÊÌâ
ijЩƽ̨µÄĬÈϱàÂë²»ÊÇ UTF-8µ¼Ö´úÂë²»ÄÜÕý³£ÔËÐÐ
JSON²¹³äȱÉٵĺ¯ÊýÔªËØµÄ½âÎö,½âÎö³É×Ö·û´®
Èí¼þÏêÇ飺http://voovanturorial.mydoc.io/
ÏÂÔØµØÖ·£ºhttps://git.oschina.net/helyho/Voovan/wikis/home
À´×Ô:¿ªÔ´ÖйúÉçÇø

