赞
踩
【39】
互联网的发展非常迅速,但是万变不离其宗。学习 web 开发,需要我们对互联的交互机制有一定的了解。为了更好的理解并掌握 Servlet,在正式学习 Servlet之前需要对 web 开发中客户端和服务器的交互机制以及所涉及的规范(HTTP)进行学习。
1、 web 交互的基本流程
图片介绍:
客户端根据用户输入的地址信息请求服务器,服务器在接收到用户
的请求后进行处理,然后将处理结果响应给客户端,客户端将响应结果展示给用户。
专业术语:
问题:
客户端也就是浏览器的版本是有很多的,服务器的版本也是有很多的,如何实现不同版本的浏览器和不同版本的服务器之间的数据交互呢?
解决:通过HTTP 协议规范浏览器和服务器的数据交互的格式。
2、 HTTP 的概念和介绍
概念:超文本传输协议(Hyper Text Transfer Protocol)
作用:规范了浏览器和服务器的数据交互
特点:
A、简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有 GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于 HTTP 协议简单,使得 HTTP 服务器的程序规模小,因而通信速度很快。
B、灵活:HTTP 允许传输任意类型的数据对象。正在传输的类型由Content-Type 加以标记。
C、无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
D、无状态:HTTP 协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。
E、支持 B/S 及 C/S 模式。HTTP1.1 版本后支持可持续连接
3、 HTTP 的交互流程:
HTTP 的交互流程一般分为四个步骤(一次完整的请求):
4、 HTTP 协议之请求格式
请求格式的结构:
注意: 一张网页的内容是极其丰富的,浏览器会遵循HTTP 请求的格式将有效数据发送给服务器。
示例(get 请求方式):
示例(post 请求方式):
5、 HTTP 协议之请求方式
根据 HTTP 标准,HTTP 请求可以使用多种请求方法。
HTTP1.0 定义了三种请求方法: GET, POST 和 HEAD 方法。
HTTP1.1 新 增了 五种 请 求方 法: OPTIONS, PUT, DELETE, TRACE 和CONNECT 方法。
get 和 post 请求方式的区别:
(1)get 请求方式:
请求数据会以?的形式隔开拼接在请求头中,不安全,没有请求实体部分。
HTTP 协议虽然没有规定请求数据的大小,但是浏览器对 URL 的长度是有限制的,所以 get 请求不能携带大量的数据。
(2)post 请求方式:
请求数据在请求实体中进行发送,在 URL 中看不到具体的请求数据,安全。适合数据量大的数据发送。
6、 HTTP 协议之响应
响应格式的结构:
示例:
HTTP 常见响应状态码含义:
HTTP 状态码由三个十进制数字组成,第一个十进制数字定义了状态码的
类型,后两个数字没有分类的作用。HTTP 状态码共分为 5 种类型:
常见状态码:
Tomcat 服务的下载和安装:
下载地址:
https://tomcat.apache.org/download-70.cgitomcat.apache.org安装:
下载成功后会为压缩包文件,解压即可使用
注意:尽量不要解压在中文目录中
目录结构介绍:
校验安装:
打开 bin 目录,然后双击执行 startup.bat 文件,打开浏览器在地址栏中输入 localhost:8080/ 如果出现 tomcat 广告页安装成功
常见问题:
1、 tomcat 的运行依赖 JDK,必须配置 JDK 环境。配置方式参照:
https://jingyan.baidu.com/article/6dad5075d1dc40a123e36ea3.html
2、 闪退,启动闪退问题一般是因为JDK的环境变量配置有问题,参照 1 进行重新进行配置,如果还是闪退,使用:在 binstartup.bat 文件中的第一行前面加入:
这样,运行 startup.bat 就可以正常启动 tomcat 服务器,如果想点击 shutdown.bat 关闭服务器,同样在 shutdown.bat 文件中加入上面的两行即可。
狭义的 Servlet 是指 Java 语言实现的一个接口,广义的 Servlet 是指任何实现了这个 Servlet 接口的类,一般情况下,人们将 Servlet 理解为后者。Servlet 运行于支持 Java 的应用服务器中。从原理上讲,Servlet 可以响应任何类型的请求,但绝大多数情况下 Servlet 只用来扩展基于 HTTP 协议的 Web 服务器
特点:
使用:
下面的图片帮助理解Servlet
第一个 Web 项目
1、 打开 Myeclipse 并创建工作空间
2、 点击 file 选择—>new—>web project—>输入项目名,点击 finish
3、 在 src 下创建包 com.bjsxt.servlet.
4、 在包下创建一个普通 java 类 MyServlet,并继承HttpServlet
5、 在 MyServlet 类中覆写 service 方法。
package
6、 在 webRoot 下的 WEB-INF 下找到 web.xml 文件并配置,如下。
7、 打开 tomcat 的安装目录,在 webapps 目录下新建文件夹,文件夹名为 project,并将项目源码webRoot 下的内容全部复制到该文件夹下。
8、 启动 tomcat 服务器,并在地址栏中输入:localhost:8080/project/my
看到this is my first servlet则完成
总结:
MyEclipse 是开发工具,通过此工具便于程序员的代码编写。真正运行的代码不是 MyEclipse中编写的代码,而是 tomcat 服务器中部署好的代码。Tomcat 会根据请求自动调用对应的代码进行请求处理。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。