文章目录
Http
Http协议
HTTP,超文本传输协议(HyperText Transfer Protocol)是互联网上应用最为广泛的⼀种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供⼀种发布和接收HTML页面的方法。
特点:
- 基于TCP/IP的高级协议
- 默认端口号:80
- 基于请求/响应模型的:⼀次请求对应⼀次响应
- 无状态的:每次请求之间相互独立,不能交互数据
历史版本:
- 1.0:每⼀次请求响应都会建立新的连接
- 1.1:复用连接
Http协议由Http请求和Http响应组成,当在浏览器中输入网址访问某个网站时,浏览器会将请求封装成⼀个Http请求发送给服务器站点,服务器接收到请求后会组织响应数据封装成⼀个Http响应返回给浏览器。
没有请求就没有响应。
Http请求
抓取包信息:
请求行
请求行分为以下几个部分:
请求方式:HTTP协议有7种请求方式,常用的有2种:
GET
- 请求参数在请求行中,在url后。
- 请求的url长度有限制的
- 不太安全
POST
- 请求参数在请求体中
- 请求的url长度没有限制的
- 相对安全
请求的资源:/DemoEE/form.html
请求协议/版本
请求头
请求头是客户端发送给服务器端的⼀些信息,使用键值对表示key:value
请求体
请求方式是post时,封装POST请求消息的请求参数的,格式如下:
username=zhangsan&password=123
请求方式为get时,那么请求参数不会出现在请求体中,会拼接在url地址后:
http://localhost:8080…?username=zhangsan&password=123
Http响应
响应行
响应行分为三部分,分别是Http协议 状态码 状态信息。
Http协议部分:显示Http协议版本
状态码:表示当前状态。
常见状态码:
常见状态码 | 含义 |
---|---|
200 | 请求成功。 |
302 | 请求重定向。 |
304 | 请求资源没有改变,访问本地缓存。 |
404 | 请求资源不存在。通常是用户路径编写错误,也可能是服务器资源已删除。 |
500 | 服务器内部错误。通常程序抛异常。 |
状态信息:状态信息是根据状态码变化而变化的。
响应头
响应也都是键值对形式,服务器端将信息以键值对的形式返回给客户端。
响应体
响应体是服务器回写给客户端的页面正文,浏览器将正文加载到内存,然后解析渲染显示页面内容。
Tomcat
Web开发中的常见概念
B/S系统与C/S系统
B/S: Browser Server 浏览器-服务器
HTTP协议 如:www.baidu.com www.jd.com…
C/S: Client Server 客户端-服务器
TCP/IP协议 如:QQ 迅雷 …
web应用服务器
供向外部发布web资源的服务器软件
web资源
存在于web应用服务器可供外界访问的资源就是web资源。
例如:存在于web应用服务器内部的Html、CSS、JS、图片、视频等。
- 静态资源:指web页面中供⼈们浏览的数据始终是不变。比如:HTML、CSS、JS、图片、多媒体。
- 动态资源:指web页面中供⼈们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同。
比如:JSP/Servlet、ASP、PHP
javaWEB领域:动态资源认为通过java代码去动态生成html。
常用的web应用服务器
- WebLogic:oracle公司的⼤型收费web服务器,支持全部JavaEE规范。
- WebSphere:IBM公司的⼤型收费web服务器,支持全部的JavaEE规范。
- Tomcat:Apache开源组织下的开源免费的中小型的web应用服务器,支持JavaEE中的Servlet 和 JSP规范。
Tomcat的目录结构
- bin:脚本目录
启动脚本:startup.bat
停⽌脚本:shutdown.bat - conf:配置文件目录 (config /configuration)
核⼼配置文件:server.xml
用户权限配置文件:tomcat-users.xml
所有web项目默认配置文件:web.xml - lib:依赖库,tomcat和web项目中需要使用的jar包
- logs:日志文件
localhost_access_log.*.txt tomcat 记录用户访问信息,*表示时间。
例如:localhost_access_log.2016-02-28.txt - temp:临时文件目录,文件夹内内容可以任意删除。
- webapps:默认情况下发布WEB项目所存放的目录。
- work:tomcat处理JSP的工作目录。
Tomcate的启动与运行
双击Tomcat下的bin下的startup.bat启动Tomcat
或进入cmd命令行界面,键入“startup”,启动Tomcat(需要配置好环境变量)
出现一个新窗口:
打开浏览器,在浏览器的地址栏中输入http://localhost:8080,看到如下页面证明启动成功。
Web应用的目录结构
注意:WEB-INF目录是受保护的,外界不能直接访问
项目部署
部署项目的方式:
-
直接将项目放到 webapps 目录下即可。
/hello:项目的访问路径 → 虚拟目录
简化部署:将项目打成⼀个war包,再将war包放置到webapps目录下war包会⾃动解压缩。
若直接复制到webapps目录下,Tomcat必须关闭。
若将war包复制到webapps目录下,Tomcat可以开启。 -
配置 conf/server.xml 文件
在 标签体中配置<Context path=“hi” docBase=""></Context>
path: 虚拟目录名
docBase: hello 目录的绝对路径(避免中文空格)
访问时,使用的是虚拟目录名。
修改时,Tomcat需要关闭。 -
在 conf\Catalina\localhost 创建任意名称的xml文件。
在文件中编写 <Context docBase=“D:\hello” />
虚拟目录:xml文件的名称
Tomcat可以为开启状态。
使用IDEA创建Web应用并部署运行
1、 创建Java工程
2、右键项目,添加框架支持
3、添加运行环境
4、设置工程,添加 JavaEE 依赖