自学Java之Servlet核心技术(上)

本文介绍了JavaWeb的基础知识,包括C/S和B/S架构的对比,HTTP协议的要点,Tomcat服务器的配置和使用,以及Servlet的核心概念、生命周期和处理请求的方法。特别强调了Servlet在处理POST和GET请求时的中文乱码问题及其解决方案。
摘要由CSDN通过智能技术生成

1.基本概念

1.1 C/S架构的概念

  • C/S架构(Client/Server,客户端/服务器模式),是一种比较早的软件体系结构,也是生活中很常见的结构。这种结构将需要处理的业务合理地分配到客户端和服务器端,客户端通常负责完成与用户的交互任务,服务器通常负责数据的管理。
  • C/S架构的主要优点如下:
    • 客户端的界面和功能可以很丰富。
    • 应用服务器的负荷较轻。
  • 响应速度较快。
  • C/S架构的主要缺点如下:
    • 适用面窄,用户群固定。
    • 维护和升级的成本高,所有的客户端都需要更新版本。

1.2 B/S架构的概念

  • B/S架构(Browser/Server,浏览器/服务器模式),是互联网兴起后的软件体系结构,该结构将系统功能实现的主要业务逻辑集中到服务器端,极少数业务逻辑在浏览器实现,浏览器通常负责完成与用户的交互任务,服务器通常负责数据的管理。
  • B/S架构的主要优点如下:
    • 无需安装客户端,只要有浏览器即可。
    • 适用面广,用户群不固定。
    • 通过权限控制实现多客户访问的目的,交互性较强。
    • 维护和升级的成本低,无需更新所有客户端版本。
  • B/S架构的主要缺点如下:
    • 应用服务器的负荷较重。
    • 浏览器的界面和功能想要达到客户端的丰富程度需要花费大量的成本。
    • 在跨浏览器上不尽如人意,适配比较麻烦。

1.3 JavaWeb的概念

  • Web本意为网页的含义,这里表示互联网上供外界访问的资源。
  • 互联网上供外界访问的资源主要分为以下两种:
    • 静态资源:主要指Web页面中供人们浏览的数据始终是不变。
    • 动态资源:主要指Web页面中供人们浏览的数据由程序产生,不同时间点访问页面看到的内容各不相同。
  • JavaWeb主要指使用Java语言进行动态Web资源开发技术的统称,是解决相关Web互联网领域的技术总和。
  • 早期的B/S架构
  • 后来的B/S架构

2.HTTP协议(熟悉) 

2.1 HTTP协议的概念

  • HTTP协议(HyperText Transfer Protocol,超文本传输协议)是由W3C(万维网联盟)组织制定的一种应用层协议,是用来规范浏览器与Web服务器之间如何通讯的数据格式,主要涉及浏览器的发请求格式和服务器的响应格式。
  • HTTP协议通常承载于TCP协议之上,而承载于TLSSSL协议层之上的协议就是常说的HTTPS议。
  • HTTP默认的端口号为80HTTPS默认的端口号为443。

 2.2 HTTP请求格式

  • 客户端发送一个HTTP请求到服务器的请求消息主要包括:请求行、请求头、空白行和请求体。
    请求行用来说明请求类型和要访问的资源以及所使用的 HTTP 版本,格式如下:
    请求类型 请求的路径 协议的版本 (1.1)
    请求头是紧接着请求行(即第一行)之后的部分,用来说明服务器要使用的附加信息,格式
    key:value )如下:
    主机 请求长度 请求的浏览器相关信息
    空白行就是请求头部的空行,即使后面的请求数据为空则必须有空行。
    请求体也叫请求数据,可以添加任意的其他数据。 

举例如下:  

POST /task01_demo01/demo1.html HTTP/1.1
Host: localhost:8088
Content-Length: 21
Cache-Control: max-age=0
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64)
name=scott&pwd=123456

2.3 HTTP响应格式 

  • 通常情况下服务器接收并处理客户端发过来的请求后会返回一个HTTP的响应消息,主要包括:响应行、响应头、空白行和响应体。

响应行用来说明 HTTP 协议版本号和状态码以及状态消息,格式如下:
协议的版本 (1.0 1.1) 状态码 (200 成功 404 路径错误 500 服务错误 ) 状态信息
响应头用来说明客户端要使用的一些附加信息,格式( key:value )。
空白行就是响应头部的空行,即使后面的请求数据为空则必须有空行。
响应体用来服务器返回给客户端的文本信息。

举例如下:  

HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 588
Date: Thu, 08 Sep 2021 12:59:54 GMT
<html><head><title> 示例 1</title></head>
<body><h1> 这是一个 HTML 页面 </h1></body>
</html>

3.Tomcat服务器(重点)

3.1 基本概念 

  • Tomcat本意为公猫的含义,最初是由Sun公司的软件架构师詹姆斯·邓肯·戴维森开发的,后来他帮助将其变为开源项目并由Sun公司贡献给Apache软件基金会。
  • Tomcat 服务器是一个开源的轻量级Web应用服务器,在中小型系统和并发量小的场合下被普遍使用,是开发和调试ServletJSP 程序的首选。

3.2 目录结构

  • bin         主要存放二进制可执行文件和脚本。
  • conf       主要存放各种配置文件。
  • lib          主要用来存放Tomcat运行需要加载的jar包。
  • lo
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值