从百草园到三味书屋,从servlet到springmvc
Servlet:使用http协议在服务器与客户端之间通信的技术。是Socket的一种应用。
Socket:使用TCP/IP或者UDP协议在服务器与客户端之间进行传输的技术,是网络编程的基础。
Tomcat:一个servlet容器,它的底层是Socket编程(Process.java)
springmvc: DispacherServlet
Tomcat简单实现
1.socket 循环获取请求,能得到输入流和输出流
ServerSocket serverSocket//实例化一个 ServerSocket 对象,表示通过服务器上的端口通信while(true) {Socket socket = serverSocket.accept(); //服务器调用 ServerSocket 类的 accept() 方法,该方法将一直等待,直到客户端连接到服务器上给定的端口socket.getInputStream();socket.getOutputStream();}
2.inputStream转String,得到HTTP请求方法,还有URL
inputStreamStr.split("\n")[0]; //取出HTTP请求协议的首行method = httpHead.split("\\s")[0]; //按照空格进行分割,第一个是请求的方法url = httpHead.split("\\s")[1]; //按照空格进行分割,第二个是请求的路径
3. 配置一个map放url和servlet路径,也可以用一个Bean存放
map:"/index", "com.my.servlet.IndexServlet"
或者:public class ServletMappingConfig {public static List<ServletMapping> servletMappingList = new ArrayList<>();static {servletMappingList.add(new ServletMapping("index", "/index", "com.my.servlet.IndexServlet"));servletMappingList.add(new ServletMapping("myblog", "/myblog", "com.my.servlet.MyBlog"));}
}
4. 根据配置的servlet路径反射调用里面的方法
1.public class IndexServlet extends MyServlet
2.根据类路径反射创建实例,然后调用service方法
Class<MyServlet> myServletClass = (Class<MyServlet>)Class.forName(clazz);MyServlet myservlet = myServletClass.newInstance();myservlet.service(myRequest, myResponse);
5.返回,根据outputStream.write可以返回 CODE=200
//将文本转换为字节流public void write(String content) throws IOException{StringBuffer httpResponse = new StringBuffer();httpResponse.append("HTTP/1.1 200 OK\n") //按照HTTP响应报文的格式写入.append("Content-Type:text/html\n").append("\r\n").append("<html><head><link rel=\"icon\" href=\"data:;base64,=\"></head><body>").append(content) //将页面内容写入.append("</body></html>");outputStream.write(httpResponse.toString().getBytes()); //将文本转为字节流outputStream.close();}
从百草园到三味书屋,从servlet到springmvc相关推荐
- android 图解 PhotoView,从‘百草园’到‘三味书屋’!
PhotoView, android 图解 PhotoView 从0到1,从
- c语言谭浩强百草园有卖吗,鲁迅为何强调百草园“卖给朱文公的子孙了”?原来有一桩辛酸往事...
原标题:鲁迅为何强调百草园"卖给朱文公的子孙了"?原来有一桩辛酸往事 教学<从百草园到三味书屋>时,突然有学生问: "老师,课文第一段介绍百草园,直接说卖给一 ...
- 基于JavaEE的“三味”书屋网上售书系统
技术:Java.JSP等 摘要: 美国最先提出Internet的概念,如今,全球各地的人们纷纷加入到这个网络行列, 使 Internet 真正走向全球化.随着用户.网民越来越多,网络的范围也愈来愈大, ...
- 基于JAVA的“三味书屋”网络书店销售管理系统的设计与实现毕业设计源码111519
目 录 摘要 1 绪论 1.1系统开发背景 1.2选题的目的和意义 1.3系统在国内外发展的概况 1.4系统开发技术的特色 1.5论文结构与章节安排 2三味书屋网络书店销售管理分析 2.1 可行性分 ...
- springboot基于JAVA的“三味书屋”网络书店销售管理系统的设计与实现毕业设计源码111519
目 录 摘要 1 绪论 1.1系统开发背景 1.2选题的目的和意义 1.3系统在国内外发展的概况 1.4系统开发技术的特色 1.5论文结构与章节安排 2三味书屋网络书店销售管理分析 2.1 可行性分 ...
- 我在三味书屋的日子(三)
实果子: 一个很可爱的人.最初相识的时候我让她去写些言情相关的帖子,结果她给我写了篇漫画,害得我不得不自己亲自去写言情书评,而那是我一直避免的. 她很有特色的,回的帖子都很好,我还记得我的一个帖子她回 ...
- 拍三味书屋的版主煽风点火
在书屋,可以说在腾讯文学性质的bbs中,对于帖子的要求是最松的. 山风版主喜欢的事情是:每二周发表他转了多少不符合主题的帖子,推荐了多少,至于更详细的,没有了.而且从版务管理来看,帖子以删除的多,看他 ...
- java servlet spring_带着新人简单看看servlet到springmvc
好久都没有写博客了,不是因为自己懒了,而是总感觉自己知道的只是太少了,每次想写博客的时候都不知道怎么下手,不过最近看到一篇博客说的是springmvc,给了我比较大的兴趣,感觉一下子对整个spring ...
- 从Servlet到SpringMVC演变过程详解(ServletContext 和WebApplicationContext, ApplicationContext给你安排上了)
无图言屌: 以前我们用servlet进行编程: 所有的配置都会在配置在web.xml里面,其实类似于现在的任务编排 我们会把我们的Filter和Servlet还有Listener,初始化的一些参数都写 ...
- c语言谭浩强百草园有卖吗,巫师3白果园有什么神器
巫师3这款游戏中,装备对玩家是有一定的影响的,在白果园中隐藏着两个前期神器,是两件毒蛇学派的装备,在哪里呢,下面游戏吧小编为大家带来介绍. 巫师3白果园有什么神器 白果园神器指的是白果园中毒蛇学派的毒 ...
最新文章
- Database项目中关于Procedure sp_refreshsqlmodule_internal的错误
- 用markdown写博客园
- UML模型的基本概念(转)
- D/A与A/D转换器
- 2017-2018-1 20155222 201552228 实验五 通讯协议设计
- KPI在小型产品团队中的实践
- Windows误关闭资源管理器重启的办法
- C语言头文件一般以什么名称结尾,c语言书写规范.doc
- 笔记:Java 性能优化权威指南 第6章 Java 应用性能分析技巧
- html制作文字效果,10个text-shadow制作的文字效果
- AI智能内容创作的几个方面
- 内存数据库 TimesTen
- 58同城赶集网简历怎么下载?【58同城赶集网简历采集,真实手机号联系方式获取】
- AutoCAD .Net 创建椭圆Ellipse
- linux定时脚本编写,如何实现Linux定时任务
- TabTimes专访《无尽之剑 II》开发者Donald Mustard
- 不一样的课程表,不一样的Excle--用Excle进行设计(12):网状结构
- JSD-2204-API-JavaIO-Day02
- Python网络编程(OSI Socket)
- SQL之having关键字用法
热门文章
- httpwatch11.1---专业版
- Red Hat Enterprise Linux9 + Zabbix 6.2.3 + Grafana 9.2.0
- mysql strict_MySQL模式 Strict Mode知识点详解
- SpringBoot入门-统一错误码
- 计算机自动关机原理,电脑自动关机什么原因 电脑自动关机是怎么回事
- markdown合并单元格、设置单元格背景颜色和字体颜色
- POJ - 1733 带权并查集 模运算 利用map进行离散化 题目没看全导致疯狂WA
- 神经网络容易受到对抗攻击,网络攻防原理与技术
- 富军:史玉柱鲜为人知的网络营销震撼策略!
- AngularJs checkbox绑定