SpringBootWeb请求响应

在上一次的课程中,我们开发了springbootweb的入门程序。 基于SpringBoot的方式开发一个web应用,浏览器发起请求 /hello 后 ,给浏览器返回字符串 “Hello World ~”。

    @RestController
public class helloController {
       
        @RequestMapping("/hello")
    public String hello(){
        System.out.println("Hello World");
        return "Hello World";
    }
}

 

其实呢,是我们在浏览器发起请求,请求了我们的后端web服务器(也就是内置的Tomcat)。而我们在开发web程序时呢,定义了一个控制器类Controller,请求会被部署在Tomcat中的Controller接收,然后Controller再给浏览器一个响应,响应一个字符串 “Hello World”。 而在请求响应的过程中是遵循HTTP协议的。

但是呢,这里要告诉大家的时,其实在Tomcat这类Web服务器中,是不识别我们自己定义的Controller的。但是我们前面讲到过Tomcat是一个Servlet容器,是支持Serlvet规范的,所以呢,在tomcat中是可以识别 Servlet程序的。 那我们所编写的XxxController 是如何处理请求的,又与Servlet之间有什么联系呢?

其实呢,在SpringBoot进行web程序开发时,它内置了一个核心的Servlet程序 DispatcherServlet,称之为 核心控制器。 DispatcherServlet 负责接收页面发送的请求,然后根据执行的规则,将请求再转发给后面的请求处理器Controller,请求处理器处理完请求之后,最终再由DispatcherServlet给浏览器响应数据。

 那将来浏览器发送请求,会携带请求数据,包括:请求行、请求头;请求到达tomcat之后,tomcat会负责解析这些请求数据,然后呢将解析后的请求数据会传递给Servlet程序的HttpServletRequest对象,那也就意味着 HttpServletRequest 对象就可以获取到请求数据。 而Tomcat,还给Servlet程序传递了一个参数 HttpServletResponse,通过这个对象,我们就可以给浏览器设置响应数据 。

那上述所描述的这种浏览器/服务器的架构模式呢,我们称之为:BS架构。

• BS架构:Browser/Server,浏览器/服务器架构模式。客户端只需要浏览器,应用程序的逻辑和数据都存储在服务端。

那今天呢,我们的课程内容主要就围绕着:请求、响应进行。 今天课程内容,主要包含三个部分:

  • 请求

  • 响应

  • 分层解耦

自己理解

我们之前写的程序tomcat是不识别的  也不运行

虽然tomcat是不识别我们所编写的controller程序,但是他实现jaavee的规范技术servlet  因为tomcat也称为servlet容器

而我们基于springboot开发的  web入门程序当中   springboot底层给我们提供了一个非常

核心的Servlet程序 DispatcherServlet,称之为 核心控制器(前端控制器) 。

DispatcherServlet就可以被tomcat识别的servlet程序

DispatcherServlet 负责接收页面发送的请求,然后根据执行的规则,将请求再转发给后面的请求处理器Controller,请求处理器处理完请求之后,最终再由DispatcherServlet给浏览器响应数据。

那我们如何在Servlet程序中获取请求数据

浏览器发送请求,会携带请求数据,包括:请求行、请求头;

请求到达tomcat之后,tomcat会负责解析这些请求数据,

然后呢将解析后的请求数据会传递给Servlet程序的HttpServletRequest对象,(将将解析后的请求数据封装到HttpServletRequest对象)

 那也就意味着 HttpServletRequest 对象就可以获取到请求数据

然后HttpServletRequest在对请求进行处理   处理完毕之后   Tomcat服务器根据HTTP协议响应数据的格式给浏览器响应数据

那Tomcat怎么知道要浏览器响应哪些数据

在Servlet程序中 我们可以借助HttpServletResponse来设置响应数

Tomcat,还给Servlet程序传递了一个参数 HttpServletResponse,通过这个对象,我们就可以给浏览器设置响应数据 。

然后tomcat就会根据我们在HttpServletResponse对象所设置的响应信息来响应数据给浏览器  

HttpServletRequest对象:请求对象 用来请求数据

HttpServletResponse对象:响应对象  设置响应数据  

 

CS架构

BS架构 :通过浏览器网址就可以访问

CS架构:要单独安装客户端

 

  • 12
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值