首页 > 编程语言 >Java Web服务器是怎么处理请求的?

Java Web服务器是怎么处理请求的?

时间:2022-12-07 22:45:07浏览次数:42  
标签:Web Java 请求 request 服务器 Servlet

从2017年初开始自学Java,到现在工作一年半,恍然间已经在Java世界里畅游了大概5年。

作为一名Java后端程序员,如今日常工作就是写写接口,用来接收前端的请求,然后返回处理结果。

回想当初刚开始学习时,还需要自己定义Servlet实现类。实现service()方法,手动从request中解析出请求参数,经过业务处理后,再通过response将结果返回给前端。

学习和使用后Spring MVC后,直接在形参前添加@RequestParam@RequestBody注解,就可以直接将前端请求参数转换成我们需要的对象。直接在响应参数前添加@ResponseBody注解,就可以直接将返回值转换成JSON格式发送给前端。

后来,阅读了Java Servlet规范、Spring MVC源码和Tomcat源码,才发现Java领域Web服务器的本质其实就是Servlet

在Java领域的Web服务器,比如Tomcat、Jetty或Undertow,它们都是根据Java Servlet规范实现的。

就好比我们会根据产品经理的需求进行业务实现。这些Web服务器也会根据Java Servlet规范进行开发。

Web服务器都会按照Java Servlet规范的流程运行:

  1. 监听端口
  2. 接受到请求后创建Socket连接
  3. Socket连接中获取InputStreamOutputStream对象
  4. InputStream中解析HTTP数据,封装成request
  5. OutputStream封装成response
  6. requestresposne作为参数传递给Servlet

在Java领域,所有Web服务都按照这个基本流程运行。理解这一点,我们日常开发会更加得心应手,对前后端交互也会更有底气。

标签:Web,Java,请求,request,服务器,Servlet
From: https://www.cnblogs.com/Xianhuii/p/16964782.html

相关文章

  • ingress 服务器片段
    配置server内的配置nginx.ingress.kubernetes.io/server-snippet:location^~/index/common/getQandAListi{rewrite^(.*)$https://www.baidu.com.com$1permanent......
  • Java流程控制(4)选择结构
                  ......
  • ensp防火墙web界面登录
    今日分享ensp防火墙web界面登录1、进入防火墙;user:admin password:Admin@1232、进入管理接口;修改默认IP及网段;3、进入cloud;添加VMware8和udp类型为GE接口,4、cloud端口......
  • Java - 变量
    Java数据类型分为基本数据类型与引用数据类型1.基本数据类型整数类型:byte,shrot,int,longbyte1个字节范围-128~127,shrot2个字节,int4个字节,long8个字节字面量默认为......
  • [BUUCTF][Web][GXYCTF2019]Ping Ping Ping 1
    打开靶机对应URL提示有ip参数尝试构造urlhttp://714ad4a2-64e2-452b-8ab9-a38df80dc584.node4.buuoj.cn:81/?ip=127.0.0.1显示/?ip=PING127.0.0.1(127.0.0.1):56......
  • weblogic开启debug模式启动时出现ERROR: Cannot load this JVM TI agent twice
     分析错误:weblogic开启debug模式启动时出现下面的错误:ERROR:CannotloadthisJVMTIagenttwice,checkyourjavacommandlineforduplicatejdwpoptions.Erroroc......
  • weblogic开启开发者模式
    这几天在weblogic下的开发有一点小心得,分享下。 我们这边由于每次重写部署项目要加载缓存数据,非常耗时,最后在网上找了一个自动重写发布编译好的java文件的方法。 每次修改......
  • web前端性能优化小结
                        web前端性能优化的14个技巧    平时接触的很多优化都是后台程序或数据库级别的,最近浏览了下《高性能网......
  • 使用cxf3.0.4搭建webservice服务需要的最精简jar包
        网上看了百度了好长时间,头都大了,还是没有把想要的最简jar包找到,不是jar仍然很多,就是jar包少了,导致报错。无奈之下,自己花了一个下午,采用用逆推法,总结了下cxf3.0.......
  • [BUUCTF][Web][SUCTF 2019]EasySQL 1
    这一题有点蛋疼,比较难顶看了别人的writeup也很难get到解题思路,感觉必须要拿到源码进行审计才能解大佬们猜后端是这么写的select$_POST['query']||flagfromFlag;......