年前最后一场技巧盛宴 | 1月27日与京东、日记易技巧大年夜咖畅聊智能化运维成长趋势!
一、概述
固然Java的设计初志就是用来开辟大年夜型应用的,然而有时刻我们开辟的法度榜样只是简单的小型应用,对于功能的需乞降机能的请求并不高, 可能仅仅就几百行甚至几十行代码,这个时刻应用tomcat之类的Web办事器去运行就显得有点大年夜材小用了。 比如说只是将数据库中的数据读出来转换成JSON,以Web办事的情势吐给调用方如许的阉割型Web应用。
如下图所示
应用Java技巧构建Web应用时, 我们平日离不开tomcat和jetty之类的servlet容器,这些Web办事器功能强大年夜,机能强健,深受迎接,是运行大年夜型Web应用的必备神器。
二、最简单的Java Http办事器
其实袈溱jdk中已经内置了用于词攀类简单Web应用构建需求的类库了,sun公司供给的 com.sun.net.httpserver 包就是用来赞助我们解决这类问题的。
如上代码清单所示, 仅仅几行代码就可以构建一个五脏俱全的Web应用了。履行代码,在浏览器地址栏里代开链接
http://localhost:8001/test
就能运行这个段法度榜样,输入的结不雅为helloworld
三、获得外部数据
那在这个法度榜样中若何获取到外部传递过来的数据呢?比如说URL上的萌芽字符串,POST提交的数据等,其实也很简单
膳绫擎的代码清单标识了实现的办法。
留意,要包管膳绫擎代码编译经由过程, 须要惹人commons-io.jar,此包中供给将InputStream转换成String的办法。
四、并发处理
com.sun.net.httpserver似乎默认不支撑同时处理多个请求,一旦有并行的请求涌入,须要列队等待法度榜样处理,导致Web法度榜样响应卡顿。自定义实现的办法也很简单,为每个请求开一个新的线程处理即可, 如下代码清单所示
五、长处
Java内置Web办事器在功能、机能、稳定等方面是无法和tomcat和jetty之类的专业Web办事器比拟的, 它的长处主如果开辟和安排便利简单, 把法度榜样代码编译成jar包后,丢到装有jvm的办事器上, 直接运行就可以了,省去了安装相干的软件、依附, 设备复杂的情况等工作量。
然则, 在一些各方面请求都比较高的临盆情况下,照样建议应用专门的Web办事器,毕竟它们久经考验,能知足所有功能需求,并且出问题的几率低。
【编辑推荐】
- 基于x86和Linux办事器之机能优化的3原则3误区
- 若何与深度进修办事器优雅的交互?
- 企业还须要专用的备份办事器吗?
- 甲骨文办事器出漏洞:进击者用马脚挖矿获取加密泉币
- 即时通信办事器架构的一些思虑
推荐阅读
年前最后一场技巧盛宴 | 1月27日与京东、日记易技巧大年夜咖畅聊智能化运维成长趋势! 微信小法度榜样上线了游戏,而一年前,微信团队还信誓旦旦的传播鼓吹小法度榜样不做游戏。张小龙说,>>>详细阅读
本文标题:使用Java内置的Http Server服务器构建Web应用
地址:http://www.17bianji.com/lsqh/40333.html
1/2 1