一、B/S 架构:Browser/Server,浏览器/服务器 架构模式二、HTTP-请求/响应数据格式三、Servlet

一、B/S 架构:Browser/Server,浏览器/服务器 架构模式

BS架构的特点:客户端只需要浏览器。应用程序的逻辑和数据都存储在服务器端。浏览器只需要请求服务器,获取Web资源,服务器把Web资源发送给浏览器即可。好处是易于维护升级:服务器端升级后,客户端无需任何部署就可以使用到新的版本。
BS架构的组成:

静态资源:HTML、CSS、JavaScript、图片等。负责页面展现,资源是一成不变的。

动态资源:Servlet、JSP 等。负责逻辑处理,资源是变化的。

数据库:负责存储数据

HTTP协议:定义通信规则

Web服务器:负责解析 HTTP 协议,解析请求数据,并发送响应数据

二、HTTP-请求/响应数据格式

请求数据分为3部分:

请求行:请求数据的第一行。其中GET、POST表示请求方式,/表示请求资源路径,HTTP/1.1表示协议版本(POST /login HTTP/1.1)。

请求头:第二行开始,格式为key:value形式(Host: ……Chrome/91.0.4472.106)。

请求体: POST请求的最后一部分,存放请求参数(username=……=123456)。

其中,请求体为post请求方式独有,GET请求和 POST请求区别:

一、GET的请求参数在请求行中以url后?……的形势请求,没有请求体。POST请求请求参数在POST独有的请求体中。

二、GET的请求参数大小有限制,POST没有。
常见的HTTP请求头:


响应数据分为3部分:

 

响应行(状态行):响应数据的第一行。其中HTTP/1.1表示协议版本,200表示响应状态码,OK表示状态码描述(HTTP/1.1 200 OK)。

响应头:第二行开始,格式为key:value形式(Server: ……chunked…)。

响应体: 最后一部分。存放响应数据(<html>……</html>)。

常见的响应状态码:

三、Servlet
Servlet 快速入门:
创建 web项目,导入 Servlet依赖坐标

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.1.0</version>
    <scope>provided</scope>
</dependency>


定义一个类,实现 Servlet接口,在类上使用@WebServlet 注解,配置该 Servlet的访问路径,并重写接口中所有方法

@WebServlet("/demo1")
public class Demo1Servlet implements Servlet {

    public void service(){}

}

启动 Tomcat,浏览器输入URL 访问该Servlet

http://localhost:8080/模块访问地址/demo1

其中,service()方法是由web服务器调用的,当启动服务器并被访问时即调用service方法,如果继承的是Servlet的子类HTTPServlet,则还需要同时重写doGet和doPost方法,缺一则出现异常。

@WebServlet(urlPatterns = "/demo", loadOnStartup = 1),WebServlet中重要的属性有urlPatterns和loadOnStartup,前者可以是多个不同的url来指向该服务器,后者则规定在服务器启动时创建Servlet对象的优先级,负整数为第一次访问时创建,0及以上正整数则越小优先级越高。

Servlet的生命周期中,init()方法为Servlet初始化时运行一次,且接下来别的浏览器再调用也不再执行,同样的有destroy()方法,是在服务器关闭时才执行一次。

Servlet使用xml配置

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值