http:无状态协议,客户端和服务器之间不需要建立持久的连接,通信完就断开。
http的工作流程:
1.客户端和服务器建立连接
2.客户端发送请求
3.服务器响应内容
4.服务器关闭连接,客户端解析服务器发送回来的内容
http请求:包括请求行、请求头、消息体、空行
其中请求行是一个ASCII文本行,由三个标记组成:请求的http方法,请求的uri路径,http版本,中间用空格分开。
请求头:http协议使用http头来传递请求的元信息。
空行:发送回车符和退行,通知服务器以下不再有请求头。
消息体:http请求中带有字符串时,如果是get方法,查询字符串或表单数据附加在请求行中,那么消息体中就没有内容;如果是post方法,查询字符串或表单数据就添加在消息体中。
GUI缺陷:每次访问都会创建一个进程
解决方法:使用servlet以及容器来解决GUI效率问题。
servlet特点:
1.servlet是常规的java代码,代码中用了一些新的API,但不涉及新的方法。
2.servlet代码中有我们不熟悉的重要语句
3.servlet对标准类(httpServlet)进行了扩展
4.servlet没有main方法
web容器对servlet的支持包括:
1、通信支持
2、生命周期管理
3、多线程支持
4、jsp支持
5、处理安全性
web容器:servlet受控于另外一个java程序,称为web容器
web容器给处于里面的应用程序提供了一个运行环境,servlet直接跟web容器的环境进行通信,没有必要关注其它系统问题,web容器主要是由web服务器来实现
服务器:apache:Tomcat
Tomcat:是源于apache基金会里面的一个项目,它是一个优秀的web容器,又是一个http服务器
tomcat目录结构:
bin:存放启动和关闭tomcat的脚本文件
conf:存放tomcat的的各种配置
lib:服务器支撑的jar包
logs:主要存放日志文件
temp:存放临时文件
webapps:web应用的存放目录,外界能够访问的web应用程序