适合初中级Java程序员修炼手册从0搭建整个Web项目(一)( 三 )
<>();resMap.put("method",req.method().name());resMap.put("uri",uri);String msg = "小六六提醒你你请求uri为:" + uri+"";// 创建http响应DefaultFullHttpResponse response = new DefaultFullHttpResponse(HttpVersion.HTTP_1_1,HttpResponseStatus.OK,Unpooled.copiedBuffer(msg, CharsetUtil.UTF_8));//设置头信息response.headers().set(HttpHeaderNames.CONTENT_TYPE, "text/html; charset=UTF-8");//把消息输出到浏览器ctx.writeAndFlush(response).addListener(ChannelFutureListener.CLOSE);}@Overridepublic void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) {cause.printStackTrace();ctx.close();}}复制代码ApplicationServer 测试类package com.xiaoliuliu.six.finger.web.demo.server;import com.xiaoliuliu.six.finger.web.server.HttpServer;/** * @author 小六六 * @version 1.0 * @date 2020/10/13 14:26 *这个类 用于 搭建Netty web服务器的测试类 , 只适用于搭建教程的第一篇文章 */public class ApplicationServer {public static void main(String[] args) throws Exception {HttpServer server = new HttpServer(8081);// 8081为启动端口server.start();}}复制代码
测试结果在浏览器上输入
http://localhost:8081/xiaoliuliu
我们看看输出
文章插图
然后我们来看看控制台
文章插图
发现多了一次请求 , 这个是什么原因呢?
这是因为HttpRequestDecoder把请求拆分成HttpRequest和HttpContent两部分,
所以我们要过滤哪个/favicon.ico的请求 , 所以改改代码
if("/favicon.ico".equals(uri)) {System.out.println("请求了 favicon.ico, 不做响应");return;}复制代码
结尾好了 , 今天我们用几十行代码实现了一个简单的Http服务器 , 很多的细节我们一一讲解 , 但是我的注释基本上都写了 , 如果你有看不懂的地方 , 欢迎你来找我 , 我有空会给大家解答的 , 然后下一章就是我们要写的SpringMVC相关的代码了 。
【适合初中级Java程序员修炼手册从0搭建整个Web项目(一)】作者:六脉神剑链接:来源:掘金著作权归作者所有 。 商业转载请联系作者获得授权 , 非商业转载请注明出处 。
推荐阅读
- 计算机专业大一下学期,该选择学习Java还是Python
- 未来想进入AI领域,该学习Python还是Java大数据开发
- 学习大数据是否需要学习JavaEE
- 从事Java开发时发现基础差,是否应该选择辞职自学一段时间
- 2021年Java和Python的应用趋势会有什么变化?
- 康宁列举蓝宝石玻璃种种缺点 不适合用于消费级市场
- 淘云科技吴玉胜:阿尔法蛋词典笔更适合中小学生使用
- 普通大学计算机专业的本科生,该选择主攻前端还是Java
- 小米11已变“真香”?先别急,这3款旗舰机可能更适合你
- 如何提供老年人适合的数字医疗?平安亮出“一碗汤”服务