SuperDog——一个基于netty的web服务器开发项目
项目GitHub地址:https://github.com/HelloWorld-Ian/SuperDog
这是我在实习期间开发的一个项目demo,简单来说是一个基于netty框架的web服务器,基本功能类似于tomcat服务器,可以实现静态资源的访问以及通过ServiceHandler实现servlet功能进行业务代码模块的调用并返回结果
目前项目还处于早期demo阶段,通过测验可以实现的功能有请求html静态页面,通过ServiceHandler实现用HttpResponse返回字符串并显示在浏览器上。
项目依赖于netty 5.0.0.Alpha2版本,IDE使用的是idea
基本功能演示:
1.请求静态资源
(1)在resources/static/目录下放置静态资源
(2)在服务器启动入口处配置注解staticPath,设置全局静态资源路径
(3)启动服务器,绑定端口80,在浏览器中输入静态资源URL:http://localhost/static/page/test.html
(4)浏览器中成功显示静态资源页面
2.实现类似servlet功能
(1)实现ServiceHandler接口并实现handler方法,此处定义的是向浏览器回写字符串“testService”
(2)通过注解ServiceHandlerMapping实现从request请求到具体ServiceHandler接口实现类的映射
(3)在服务器启动入口处配置注解ServiceHandlerPackage,定义ServiceHandler接口实现类所在包的全包名
(4)启动服务器,在浏览器中输入URL:http://localhost/serviceTest
(5)浏览器成功显示handler方法向浏览器回写的字符串“testService”
项目的所要做的就是用尽量简单的操作实现tomcat的基本功能,并在开发中学习服务器的原理和构建。
能有这个项目纯粹是因为兴趣,希望自己能坚持下去,同时也希望能找到志同道合的小伙伴,如果有想相互交流或者加入的小伙伴私信我哈,别忘了GitHub上star一下哦~
SuperDog——一个基于netty的web服务器开发项目相关推荐
- .NET5 开发手机提词应用,基于内嵌Web服务器及PowerPoint自动化
项目说明 我使用电脑录制视频教程的时候,会展示PPT给观众,同时也有一些提示性的文字给我自己看.这就类似于很多电视节目录制现场的"提词器". 节目录制现场的提词器 在PC环境下,P ...
- 基于Go语言的Web服务器开发
基于Go语言的Web服务器开发 本文将介绍使用Go语言来开发一个简单的Web服务器,其中将包括文件上传和下载功能. 必备条件 Go语言环境 一个文本编辑器 网络服务器 步骤一:编写server.go文 ...
- linux对web后端重要吗,基于Linux的Web服务器性能测试
摘要:Linux作为一种免费的开源操作系统,正越来越受到人们的重视.随着稳定的Linux2.4内核发布日期的临近和IntelIA-64构架的推出,Linux在服务器操作系统市场所占的份额会继续扩大,那 ...
- flask web开发:基于python的web应用开发实战_在知乎上学 Python Web 开发篇
通知: 1. 最近我们将进行2期学习小组,面向完全零基础的Python入门学习小组已经开始,第一次任务的讨论将于明晚(15号)进行,现在上车还来得及 2. 另有一期数据可视化小组将于年前启动,第一次讨 ...
- 《Flask Web开发——基于Python的Web应用开发实践》一字一句上机实践(上)
目录 前言 第1章 安装 第2章 程序的基本结构 第3章 模板 第4章 Web表单 第5章 数据库 第6章 电子邮件 第7章 大型程序的结构 前言 学习Python也有一个半月时间了,学到现在感觉还是 ...
- 一个非常轻巧的基于Groovy的Web应用程序项目模板
一个非常轻巧的基于Groovy的Web应用程序项目模板 您可能听说过该项目Grails是Ruby on Rails之类的Groovy版本的框架,该框架使您可以通过动态脚本轻松地创建Web应用程序. 尽 ...
- groovy 模板_一个非常轻巧的基于Groovy的Web应用程序项目模板
groovy 模板 一个非常轻巧的基于Groovy的Web应用程序项目模板 您可能听说过该项目Grails是Ruby on Rails之类的Groovy版本的框架,该框架使您可以通过动态脚本更轻松地创 ...
- Flask Web开发:基于Python的Web应用开发实战
<Flask Web开发:基于Python的Web应用开发实战> 虽然简单的网站(Flask+Python+SAE)已经上线,但只是入门.开发大型网站,系统地学习一遍还是有必要的. 201 ...
- html5快速开发模板生成器,推荐一个基于Vue 的 H5 快速开发模板
本项目以基于 vue-cli4 和 Vant-ui 搭建的,进行移动端开发中的一些最佳实践方案 模板地址 动动你的小手点颗star 样式适配 在移动端网页开发时,样式适配始终是一个绕不开的问题.对此目 ...
最新文章
- Invalid indirect reference 0x28 in decodeIndirectR
- 同步手绘板——将View的内容映射成Bitmap转图片导出
- php queryList函数,QueryList/QueryList.php at master · baijunyao/QueryList · GitHub
- python 程序开机自启动,亲测可用
- Quartz.Net进阶之四:CronTrigger 详述
- python错误怎么处理_python报的错误怎么处理
- VS2008编译boost库
- iframe 跨域_【梯云纵】搞定前端跨域
- 鸿蒙手表怎么安装,万物皆可鸿蒙,这次鸿蒙系统将应用到手表上了
- 前端开发-家里蹲工作环境搭建
- 换个思路理解Javascript中的this
- Servlet期末复习笔记
- 【图像增强】基于matlab HSV空间双边滤波图像去雾【含Matlab源码 067期】
- SpringCloud Alibaba之Sentinelt组件
- # 书籍《银河帝国10—裸阳》读后感—20210606
- 校验社会统一信用代码JAVA
- Ajax中readyState和status
- 服务器cpu型号各个数字,服务器cpu型号 数字
- 如何改变 Git 字体大小
- 高通开发系列 - linux kernel更新msm-3.18升至msm-4.9
热门文章
- 齐物论——数学信号篇
- springboot整合freemarker FTL stack trace (“~“ means nesting-related): - Failed at: #
- 关于递归树的理解和学习
- 在Vue中使用CKEditor5富文本编辑器
- 2015级C++第3周实践项目
- Python学习日记(四):添加删除空白格
- VMware安装-网络设置
- QMT交易接口定义交易账户全局信息类
- 在word中插入公式并给公式编号
- 摘花生 —— C++